java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/AutomizerBplInline.xml -s ../../../trunk/examples/settings/ai/array-bench/reach_32bit_compound_exp_cong.epf -i ../../../trunk/examples/programs/heapseparator/speedup-poc-dd-5-limited.bpl -------------------------------------------------------------------------------- This is Ultimate 0.1.24-4b9831f [2018-12-23 14:11:23,054 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-12-23 14:11:23,056 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-12-23 14:11:23,075 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-12-23 14:11:23,075 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-12-23 14:11:23,077 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-12-23 14:11:23,080 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-12-23 14:11:23,082 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-12-23 14:11:23,085 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-12-23 14:11:23,087 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-12-23 14:11:23,088 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-12-23 14:11:23,088 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-12-23 14:11:23,091 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-12-23 14:11:23,092 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-12-23 14:11:23,096 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-12-23 14:11:23,097 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-12-23 14:11:23,098 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-12-23 14:11:23,102 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-12-23 14:11:23,112 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-12-23 14:11:23,114 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-12-23 14:11:23,115 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-12-23 14:11:23,116 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-12-23 14:11:23,118 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-12-23 14:11:23,119 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-12-23 14:11:23,119 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-12-23 14:11:23,120 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-12-23 14:11:23,121 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-12-23 14:11:23,122 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-12-23 14:11:23,123 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-12-23 14:11:23,124 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-12-23 14:11:23,125 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-12-23 14:11:23,125 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-12-23 14:11:23,126 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-12-23 14:11:23,127 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-12-23 14:11:23,128 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-12-23 14:11:23,129 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-12-23 14:11:23,129 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-23 14:11:23,155 INFO L110 SettingsManager]: Loading preferences was successful [2018-12-23 14:11:23,155 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-12-23 14:11:23,156 INFO L131 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2018-12-23 14:11:23,156 INFO L133 SettingsManager]: * Show backtranslation warnings=false [2018-12-23 14:11:23,156 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-12-23 14:11:23,160 INFO L133 SettingsManager]: * User list type=DISABLED [2018-12-23 14:11:23,160 INFO L133 SettingsManager]: * Inline calls to unimplemented procedures=true [2018-12-23 14:11:23,160 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2018-12-23 14:11:23,161 INFO L133 SettingsManager]: * Explicit value domain=true [2018-12-23 14:11:23,161 INFO L133 SettingsManager]: * Abstract domain for RCFG-of-the-future=PoormanAbstractDomain [2018-12-23 14:11:23,161 INFO L133 SettingsManager]: * Octagon Domain=false [2018-12-23 14:11:23,161 INFO L133 SettingsManager]: * Abstract domain=CompoundDomain [2018-12-23 14:11:23,161 INFO L133 SettingsManager]: * Check feasibility of abstract posts with an SMT solver=true [2018-12-23 14:11:23,162 INFO L133 SettingsManager]: * Interval Domain=false [2018-12-23 14:11:23,162 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-12-23 14:11:23,166 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-12-23 14:11:23,166 INFO L133 SettingsManager]: * Use SBE=true [2018-12-23 14:11:23,166 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-12-23 14:11:23,166 INFO L133 SettingsManager]: * sizeof long=4 [2018-12-23 14:11:23,167 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-12-23 14:11:23,167 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-12-23 14:11:23,167 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-12-23 14:11:23,167 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-12-23 14:11:23,167 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-12-23 14:11:23,168 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-12-23 14:11:23,168 INFO L133 SettingsManager]: * sizeof long double=12 [2018-12-23 14:11:23,168 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-12-23 14:11:23,168 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-12-23 14:11:23,168 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-12-23 14:11:23,168 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-12-23 14:11:23,171 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-12-23 14:11:23,171 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-12-23 14:11:23,172 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-12-23 14:11:23,172 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-12-23 14:11:23,172 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-12-23 14:11:23,172 INFO L133 SettingsManager]: * Trace refinement strategy=TAIPAN [2018-12-23 14:11:23,175 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-12-23 14:11:23,175 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-12-23 14:11:23,175 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-12-23 14:11:23,175 INFO L133 SettingsManager]: * Abstract interpretation Mode=USE_PREDICATES [2018-12-23 14:11:23,209 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-12-23 14:11:23,220 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-12-23 14:11:23,224 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-12-23 14:11:23,226 INFO L271 PluginConnector]: Initializing Boogie PL CUP Parser... [2018-12-23 14:11:23,227 INFO L276 PluginConnector]: Boogie PL CUP Parser initialized [2018-12-23 14:11:23,227 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/heapseparator/speedup-poc-dd-5-limited.bpl [2018-12-23 14:11:23,228 INFO L111 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/heapseparator/speedup-poc-dd-5-limited.bpl' [2018-12-23 14:11:23,270 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-12-23 14:11:23,271 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2018-12-23 14:11:23,272 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-12-23 14:11:23,272 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-12-23 14:11:23,272 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-12-23 14:11:23,290 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.12 02:11:23" (1/1) ... [2018-12-23 14:11:23,303 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.12 02:11:23" (1/1) ... [2018-12-23 14:11:23,333 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-12-23 14:11:23,334 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-12-23 14:11:23,335 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-12-23 14:11:23,335 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-12-23 14:11:23,348 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.12 02:11:23" (1/1) ... [2018-12-23 14:11:23,348 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.12 02:11:23" (1/1) ... [2018-12-23 14:11:23,350 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.12 02:11:23" (1/1) ... [2018-12-23 14:11:23,351 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.12 02:11:23" (1/1) ... [2018-12-23 14:11:23,358 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.12 02:11:23" (1/1) ... [2018-12-23 14:11:23,368 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.12 02:11:23" (1/1) ... [2018-12-23 14:11:23,369 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.12 02:11:23" (1/1) ... [2018-12-23 14:11:23,371 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-12-23 14:11:23,372 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-12-23 14:11:23,372 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-12-23 14:11:23,372 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-12-23 14:11:23,373 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.12 02:11:23" (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-23 14:11:23,448 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-12-23 14:11:23,448 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-12-23 14:11:24,167 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-12-23 14:11:24,167 INFO L280 CfgBuilder]: Removed 13 assue(true) statements. [2018-12-23 14:11:24,168 INFO L202 PluginConnector]: Adding new model speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.12 02:11:24 BoogieIcfgContainer [2018-12-23 14:11:24,168 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-12-23 14:11:24,169 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-12-23 14:11:24,169 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-12-23 14:11:24,172 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-12-23 14:11:24,172 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.12 02:11:23" (1/2) ... [2018-12-23 14:11:24,173 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6a904c52 and model type speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.12 02:11:24, skipping insertion in model container [2018-12-23 14:11:24,174 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.12 02:11:24" (2/2) ... [2018-12-23 14:11:24,175 INFO L112 eAbstractionObserver]: Analyzing ICFG speedup-poc-dd-5-limited.bpl [2018-12-23 14:11:24,183 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-12-23 14:11:24,190 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 5 error locations. [2018-12-23 14:11:24,205 INFO L257 AbstractCegarLoop]: Starting to check reachability of 5 error locations. [2018-12-23 14:11:24,239 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-12-23 14:11:24,239 INFO L383 AbstractCegarLoop]: Hoare is true [2018-12-23 14:11:24,240 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-12-23 14:11:24,240 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-12-23 14:11:24,240 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-12-23 14:11:24,240 INFO L387 AbstractCegarLoop]: Difference is false [2018-12-23 14:11:24,240 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-12-23 14:11:24,240 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-12-23 14:11:24,256 INFO L276 IsEmpty]: Start isEmpty. Operand 13 states. [2018-12-23 14:11:24,262 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 3 [2018-12-23 14:11:24,262 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:11:24,263 INFO L402 BasicCegarLoop]: trace histogram [1, 1] [2018-12-23 14:11:24,266 INFO L423 AbstractCegarLoop]: === Iteration 1 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:11:24,272 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:11:24,273 INFO L82 PathProgramCache]: Analyzing trace with hash 984, now seen corresponding path program 1 times [2018-12-23 14:11:24,275 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:11:24,324 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:11:24,324 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:11:24,324 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:11:24,324 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:11:24,384 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:11:24,518 INFO L273 TraceCheckUtils]: 0: Hoare triple {16#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {18#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:11:24,532 INFO L273 TraceCheckUtils]: 1: Hoare triple {18#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {17#false} is VALID [2018-12-23 14:11:24,535 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-23 14:11:24,537 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-12-23 14:11:24,537 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2018-12-23 14:11:24,538 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-23 14:11:24,542 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 2 [2018-12-23 14:11:24,543 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:11:24,546 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-12-23 14:11:24,558 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-23 14:11:24,558 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-12-23 14:11:24,566 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-12-23 14:11:24,566 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-12-23 14:11:24,569 INFO L87 Difference]: Start difference. First operand 13 states. Second operand 3 states. [2018-12-23 14:11:25,031 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:11:25,031 INFO L93 Difference]: Finished difference Result 25 states and 33 transitions. [2018-12-23 14:11:25,032 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-12-23 14:11:25,032 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 2 [2018-12-23 14:11:25,032 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:11:25,033 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-12-23 14:11:25,038 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 33 transitions. [2018-12-23 14:11:25,038 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-12-23 14:11:25,041 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 33 transitions. [2018-12-23 14:11:25,041 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 33 transitions. [2018-12-23 14:11:25,102 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:11:25,114 INFO L225 Difference]: With dead ends: 25 [2018-12-23 14:11:25,114 INFO L226 Difference]: Without dead ends: 20 [2018-12-23 14:11:25,118 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-23 14:11:25,138 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 20 states. [2018-12-23 14:11:25,193 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 20 to 12. [2018-12-23 14:11:25,193 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:11:25,194 INFO L82 GeneralOperation]: Start isEquivalent. First operand 20 states. Second operand 12 states. [2018-12-23 14:11:25,195 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand 12 states. [2018-12-23 14:11:25,195 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 12 states. [2018-12-23 14:11:25,199 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:11:25,200 INFO L93 Difference]: Finished difference Result 20 states and 28 transitions. [2018-12-23 14:11:25,200 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 28 transitions. [2018-12-23 14:11:25,201 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:11:25,201 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:11:25,201 INFO L74 IsIncluded]: Start isIncluded. First operand 12 states. Second operand 20 states. [2018-12-23 14:11:25,201 INFO L87 Difference]: Start difference. First operand 12 states. Second operand 20 states. [2018-12-23 14:11:25,206 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:11:25,209 INFO L93 Difference]: Finished difference Result 20 states and 28 transitions. [2018-12-23 14:11:25,209 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 28 transitions. [2018-12-23 14:11:25,210 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:11:25,210 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:11:25,211 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:11:25,211 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:11:25,211 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-23 14:11:25,215 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 21 transitions. [2018-12-23 14:11:25,217 INFO L78 Accepts]: Start accepts. Automaton has 12 states and 21 transitions. Word has length 2 [2018-12-23 14:11:25,217 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:11:25,221 INFO L480 AbstractCegarLoop]: Abstraction has 12 states and 21 transitions. [2018-12-23 14:11:25,221 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-12-23 14:11:25,222 INFO L276 IsEmpty]: Start isEmpty. Operand 12 states and 21 transitions. [2018-12-23 14:11:25,222 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2018-12-23 14:11:25,222 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:11:25,222 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2018-12-23 14:11:25,223 INFO L423 AbstractCegarLoop]: === Iteration 2 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:11:25,223 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:11:25,223 INFO L82 PathProgramCache]: Analyzing trace with hash 30372, now seen corresponding path program 1 times [2018-12-23 14:11:25,224 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:11:25,226 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:11:25,226 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:11:25,226 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:11:25,227 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:11:25,275 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:11:25,586 WARN L181 SmtUtils]: Spent 134.00 ms on a formula simplification. DAG size of input: 19 DAG size of output: 13 [2018-12-23 14:11:25,614 INFO L273 TraceCheckUtils]: 0: Hoare triple {102#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {104#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:11:25,616 INFO L273 TraceCheckUtils]: 1: Hoare triple {104#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {105#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:11:25,626 INFO L273 TraceCheckUtils]: 2: Hoare triple {105#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {103#false} is VALID [2018-12-23 14:11:25,627 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-23 14:11:25,627 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:11:25,628 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:11:25,628 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2018-12-23 14:11:25,630 INFO L207 CegarAbsIntRunner]: [0], [18], [23] [2018-12-23 14:11:25,667 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:11:25,667 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:11:25,777 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:11:25,779 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Performed 62 root evaluator evaluations with a maximum evaluation depth of 3. Performed 62 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-23 14:11:25,784 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:11:25,785 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:11:25,785 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:11:25,786 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-23 14:11:25,801 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:11:25,801 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:11:25,828 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:11:25,849 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:11:25,853 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:11:26,021 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:11:26,046 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:26,122 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:11:26,178 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:26,179 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:26,181 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:11:26,268 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:26,274 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:26,276 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:26,277 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:11:26,600 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:26,625 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:26,651 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:26,679 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:26,680 INFO L303 Elim1Store]: Index analysis took 106 ms [2018-12-23 14:11:26,682 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:11:26,711 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:11:26,856 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:11:26,929 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:11:27,015 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:11:27,040 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:11:27,074 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-23 14:11:27,075 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:31, output treesize:38 [2018-12-23 14:11:27,082 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:11:27,083 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_27|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_27| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:11:27,083 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:11:27,288 WARN L181 SmtUtils]: Spent 103.00 ms on a formula simplification that was a NOOP. DAG size: 26 [2018-12-23 14:11:27,354 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:27,355 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:27,357 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:27,359 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:27,361 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:27,362 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:27,364 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:27,365 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:27,366 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:27,392 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:27,398 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:27,400 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-23 14:11:27,425 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:11:27,487 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-23 14:11:27,488 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-23 14:11:29,541 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:11:29,542 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_28|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_28| ULTIMATE.start_main_p4))) (and (= (store |v_#memory_int_28| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_28| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_28| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_28| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_28| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= .cse0 0))) [2018-12-23 14:11:29,542 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:11:29,641 INFO L273 TraceCheckUtils]: 0: Hoare triple {102#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {109#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:11:29,648 INFO L273 TraceCheckUtils]: 1: Hoare triple {109#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {113#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-23 14:11:29,651 INFO L273 TraceCheckUtils]: 2: Hoare triple {113#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {103#false} is VALID [2018-12-23 14:11:29,651 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-23 14:11:29,652 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:11:29,786 INFO L273 TraceCheckUtils]: 2: Hoare triple {117#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {103#false} is VALID [2018-12-23 14:11:29,787 INFO L273 TraceCheckUtils]: 1: Hoare triple {121#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {117#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:11:29,789 INFO L273 TraceCheckUtils]: 0: Hoare triple {102#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {121#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:11:29,790 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-23 14:11:29,812 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:11:29,813 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-23 14:11:29,813 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:11:29,814 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2018-12-23 14:11:29,814 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:11:29,815 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-23 14:11:29,846 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-23 14:11:29,846 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-23 14:11:29,846 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-23 14:11:29,847 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-23 14:11:29,847 INFO L87 Difference]: Start difference. First operand 12 states and 21 transitions. Second operand 6 states. [2018-12-23 14:11:30,747 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:11:30,748 INFO L93 Difference]: Finished difference Result 39 states and 56 transitions. [2018-12-23 14:11:30,748 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-12-23 14:11:30,748 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2018-12-23 14:11:30,748 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:11:30,749 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-23 14:11:30,751 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2018-12-23 14:11:30,751 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-23 14:11:30,753 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2018-12-23 14:11:30,753 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 56 transitions. [2018-12-23 14:11:30,928 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-23 14:11:30,931 INFO L225 Difference]: With dead ends: 39 [2018-12-23 14:11:30,931 INFO L226 Difference]: Without dead ends: 37 [2018-12-23 14:11:30,932 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2018-12-23 14:11:30,933 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2018-12-23 14:11:30,969 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 16. [2018-12-23 14:11:30,970 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:11:30,970 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand 16 states. [2018-12-23 14:11:30,970 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 16 states. [2018-12-23 14:11:30,971 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 16 states. [2018-12-23 14:11:30,975 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:11:30,975 INFO L93 Difference]: Finished difference Result 37 states and 53 transitions. [2018-12-23 14:11:30,975 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 53 transitions. [2018-12-23 14:11:30,976 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:11:30,976 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:11:30,977 INFO L74 IsIncluded]: Start isIncluded. First operand 16 states. Second operand 37 states. [2018-12-23 14:11:30,977 INFO L87 Difference]: Start difference. First operand 16 states. Second operand 37 states. [2018-12-23 14:11:30,980 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:11:30,980 INFO L93 Difference]: Finished difference Result 37 states and 53 transitions. [2018-12-23 14:11:30,980 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 53 transitions. [2018-12-23 14:11:30,981 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:11:30,981 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:11:30,981 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:11:30,982 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:11:30,982 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-12-23 14:11:30,983 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 32 transitions. [2018-12-23 14:11:30,984 INFO L78 Accepts]: Start accepts. Automaton has 16 states and 32 transitions. Word has length 3 [2018-12-23 14:11:30,984 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:11:30,984 INFO L480 AbstractCegarLoop]: Abstraction has 16 states and 32 transitions. [2018-12-23 14:11:30,984 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-23 14:11:30,985 INFO L276 IsEmpty]: Start isEmpty. Operand 16 states and 32 transitions. [2018-12-23 14:11:30,985 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2018-12-23 14:11:30,985 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:11:30,985 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2018-12-23 14:11:30,986 INFO L423 AbstractCegarLoop]: === Iteration 3 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:11:30,986 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:11:30,986 INFO L82 PathProgramCache]: Analyzing trace with hash 30434, now seen corresponding path program 1 times [2018-12-23 14:11:30,986 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:11:30,987 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:11:30,987 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:11:30,988 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:11:30,988 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:11:31,001 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:11:31,100 INFO L273 TraceCheckUtils]: 0: Hoare triple {262#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {264#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:11:31,105 INFO L273 TraceCheckUtils]: 1: Hoare triple {264#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {265#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:11:31,109 INFO L273 TraceCheckUtils]: 2: Hoare triple {265#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {263#false} is VALID [2018-12-23 14:11:31,110 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-23 14:11:31,110 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:11:31,110 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:11:31,111 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2018-12-23 14:11:31,111 INFO L207 CegarAbsIntRunner]: [0], [20], [23] [2018-12-23 14:11:31,112 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:11:31,113 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:11:31,130 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:11:31,130 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Performed 62 root evaluator evaluations with a maximum evaluation depth of 3. Performed 62 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-23 14:11:31,130 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:11:31,131 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:11:31,131 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:11:31,131 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 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-23 14:11:31,140 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:11:31,140 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:11:31,145 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:11:31,150 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:11:31,151 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:11:31,200 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:11:31,216 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:31,219 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:11:31,234 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:31,236 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:31,238 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:11:31,263 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:31,265 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:31,266 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:31,269 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:11:31,292 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:31,294 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:31,296 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:31,300 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:31,303 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:11:31,310 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:11:31,346 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:11:31,372 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:11:31,389 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:11:31,402 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:11:31,431 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-23 14:11:31,432 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:31, output treesize:38 [2018-12-23 14:11:31,446 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:11:31,447 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_30|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_30| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:11:31,447 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:11:31,533 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:31,534 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:31,535 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:31,536 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:31,537 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:31,572 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:31,595 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:31,602 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:31,604 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:31,607 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:31,610 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:31,612 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-23 14:11:31,621 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:11:31,688 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-23 14:11:31,688 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-23 14:11:33,710 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:11:33,710 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_31|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_31| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_31| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_31| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_31| ULTIMATE.start_main_p4) 0) (= .cse0 0) (= (store |v_#memory_int_31| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_31| ULTIMATE.start_main_p1) 0))) [2018-12-23 14:11:33,711 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:11:33,778 INFO L273 TraceCheckUtils]: 0: Hoare triple {262#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {269#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-23 14:11:33,783 INFO L273 TraceCheckUtils]: 1: Hoare triple {269#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {273#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-23 14:11:33,784 INFO L273 TraceCheckUtils]: 2: Hoare triple {273#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {263#false} is VALID [2018-12-23 14:11:33,785 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-23 14:11:33,785 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:11:33,822 INFO L273 TraceCheckUtils]: 2: Hoare triple {277#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {263#false} is VALID [2018-12-23 14:11:33,823 INFO L273 TraceCheckUtils]: 1: Hoare triple {281#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {277#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:11:33,826 INFO L273 TraceCheckUtils]: 0: Hoare triple {262#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {281#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:11:33,827 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-23 14:11:33,847 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 2 imperfect interpolant sequences. [2018-12-23 14:11:33,847 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2, 2] total 6 [2018-12-23 14:11:33,848 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-23 14:11:33,848 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 3 [2018-12-23 14:11:33,848 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:11:33,848 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-12-23 14:11:33,856 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-23 14:11:33,856 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-12-23 14:11:33,857 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-12-23 14:11:33,857 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=30, Unknown=0, NotChecked=0, Total=56 [2018-12-23 14:11:33,857 INFO L87 Difference]: Start difference. First operand 16 states and 32 transitions. Second operand 4 states. [2018-12-23 14:11:34,000 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:11:34,001 INFO L93 Difference]: Finished difference Result 18 states and 39 transitions. [2018-12-23 14:11:34,001 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-12-23 14:11:34,001 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 3 [2018-12-23 14:11:34,001 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:11:34,002 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-23 14:11:34,003 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 22 transitions. [2018-12-23 14:11:34,003 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-23 14:11:34,004 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 22 transitions. [2018-12-23 14:11:34,004 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 22 transitions. [2018-12-23 14:11:34,056 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:11:34,058 INFO L225 Difference]: With dead ends: 18 [2018-12-23 14:11:34,058 INFO L226 Difference]: Without dead ends: 17 [2018-12-23 14:11:34,058 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=26, Invalid=30, Unknown=0, NotChecked=0, Total=56 [2018-12-23 14:11:34,059 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17 states. [2018-12-23 14:11:34,108 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17 to 17. [2018-12-23 14:11:34,108 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:11:34,108 INFO L82 GeneralOperation]: Start isEquivalent. First operand 17 states. Second operand 17 states. [2018-12-23 14:11:34,109 INFO L74 IsIncluded]: Start isIncluded. First operand 17 states. Second operand 17 states. [2018-12-23 14:11:34,109 INFO L87 Difference]: Start difference. First operand 17 states. Second operand 17 states. [2018-12-23 14:11:34,112 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:11:34,112 INFO L93 Difference]: Finished difference Result 17 states and 38 transitions. [2018-12-23 14:11:34,112 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 38 transitions. [2018-12-23 14:11:34,113 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:11:34,113 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:11:34,113 INFO L74 IsIncluded]: Start isIncluded. First operand 17 states. Second operand 17 states. [2018-12-23 14:11:34,113 INFO L87 Difference]: Start difference. First operand 17 states. Second operand 17 states. [2018-12-23 14:11:34,115 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:11:34,115 INFO L93 Difference]: Finished difference Result 17 states and 38 transitions. [2018-12-23 14:11:34,116 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 38 transitions. [2018-12-23 14:11:34,116 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:11:34,116 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:11:34,116 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:11:34,117 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:11:34,117 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-12-23 14:11:34,118 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 38 transitions. [2018-12-23 14:11:34,119 INFO L78 Accepts]: Start accepts. Automaton has 17 states and 38 transitions. Word has length 3 [2018-12-23 14:11:34,119 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:11:34,119 INFO L480 AbstractCegarLoop]: Abstraction has 17 states and 38 transitions. [2018-12-23 14:11:34,119 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-12-23 14:11:34,119 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 38 transitions. [2018-12-23 14:11:34,120 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2018-12-23 14:11:34,120 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:11:34,120 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2018-12-23 14:11:34,120 INFO L423 AbstractCegarLoop]: === Iteration 4 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:11:34,121 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:11:34,121 INFO L82 PathProgramCache]: Analyzing trace with hash 30560, now seen corresponding path program 1 times [2018-12-23 14:11:34,121 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:11:34,122 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:11:34,122 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:11:34,123 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:11:34,123 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:11:34,144 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:11:34,225 INFO L273 TraceCheckUtils]: 0: Hoare triple {361#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {363#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:11:34,227 INFO L273 TraceCheckUtils]: 1: Hoare triple {363#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {363#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:11:34,227 INFO L273 TraceCheckUtils]: 2: Hoare triple {363#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {362#false} is VALID [2018-12-23 14:11:34,228 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-23 14:11:34,228 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-12-23 14:11:34,228 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2018-12-23 14:11:34,229 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-23 14:11:34,229 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 3 [2018-12-23 14:11:34,229 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:11:34,230 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-12-23 14:11:34,237 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-23 14:11:34,237 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-12-23 14:11:34,238 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-12-23 14:11:34,238 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-12-23 14:11:34,238 INFO L87 Difference]: Start difference. First operand 17 states and 38 transitions. Second operand 3 states. [2018-12-23 14:11:34,377 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:11:34,378 INFO L93 Difference]: Finished difference Result 21 states and 39 transitions. [2018-12-23 14:11:34,378 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-12-23 14:11:34,378 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 3 [2018-12-23 14:11:34,379 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:11:34,379 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-12-23 14:11:34,380 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 27 transitions. [2018-12-23 14:11:34,380 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-12-23 14:11:34,381 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 27 transitions. [2018-12-23 14:11:34,381 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 27 transitions. [2018-12-23 14:11:34,447 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:11:34,448 INFO L225 Difference]: With dead ends: 21 [2018-12-23 14:11:34,449 INFO L226 Difference]: Without dead ends: 20 [2018-12-23 14:11:34,450 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-23 14:11:34,450 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 20 states. [2018-12-23 14:11:34,473 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 20 to 17. [2018-12-23 14:11:34,473 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:11:34,473 INFO L82 GeneralOperation]: Start isEquivalent. First operand 20 states. Second operand 17 states. [2018-12-23 14:11:34,473 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand 17 states. [2018-12-23 14:11:34,474 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 17 states. [2018-12-23 14:11:34,476 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:11:34,476 INFO L93 Difference]: Finished difference Result 20 states and 38 transitions. [2018-12-23 14:11:34,477 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 38 transitions. [2018-12-23 14:11:34,477 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:11:34,477 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:11:34,477 INFO L74 IsIncluded]: Start isIncluded. First operand 17 states. Second operand 20 states. [2018-12-23 14:11:34,478 INFO L87 Difference]: Start difference. First operand 17 states. Second operand 20 states. [2018-12-23 14:11:34,479 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:11:34,480 INFO L93 Difference]: Finished difference Result 20 states and 38 transitions. [2018-12-23 14:11:34,480 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 38 transitions. [2018-12-23 14:11:34,480 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:11:34,481 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:11:34,481 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:11:34,481 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:11:34,481 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-12-23 14:11:34,483 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 37 transitions. [2018-12-23 14:11:34,483 INFO L78 Accepts]: Start accepts. Automaton has 17 states and 37 transitions. Word has length 3 [2018-12-23 14:11:34,483 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:11:34,483 INFO L480 AbstractCegarLoop]: Abstraction has 17 states and 37 transitions. [2018-12-23 14:11:34,484 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-12-23 14:11:34,484 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 37 transitions. [2018-12-23 14:11:34,484 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2018-12-23 14:11:34,484 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:11:34,484 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2018-12-23 14:11:34,485 INFO L423 AbstractCegarLoop]: === Iteration 5 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:11:34,485 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:11:34,485 INFO L82 PathProgramCache]: Analyzing trace with hash 30124, now seen corresponding path program 1 times [2018-12-23 14:11:34,485 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:11:34,486 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:11:34,487 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:11:34,487 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:11:34,487 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:11:34,497 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:11:34,612 INFO L273 TraceCheckUtils]: 0: Hoare triple {452#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {454#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:11:34,613 INFO L273 TraceCheckUtils]: 1: Hoare triple {454#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {455#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:11:34,614 INFO L273 TraceCheckUtils]: 2: Hoare triple {455#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {453#false} is VALID [2018-12-23 14:11:34,615 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-23 14:11:34,615 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:11:34,615 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:11:34,615 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2018-12-23 14:11:34,616 INFO L207 CegarAbsIntRunner]: [0], [10], [23] [2018-12-23 14:11:34,619 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:11:34,619 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:11:34,642 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:11:34,642 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Performed 62 root evaluator evaluations with a maximum evaluation depth of 3. Performed 62 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-23 14:11:34,642 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:11:34,643 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:11:34,643 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:11:34,643 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-23 14:11:34,651 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:11:34,652 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:11:34,657 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:11:34,664 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:11:34,664 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:11:34,747 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:11:34,768 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:34,769 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:11:34,805 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:34,808 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:34,810 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:11:34,847 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:34,850 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:34,853 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:34,854 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:11:34,913 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:34,914 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:34,916 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:34,918 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:34,920 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:11:34,925 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:11:34,964 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:11:34,982 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:11:34,996 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:11:35,009 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:11:35,044 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-23 14:11:35,045 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:31, output treesize:38 [2018-12-23 14:11:35,062 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:11:35,062 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_33|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_33| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:11:35,063 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:11:35,174 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:35,175 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:35,177 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:35,179 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:35,181 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:35,182 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:35,184 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:35,185 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:35,187 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:35,188 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:35,190 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:35,192 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-23 14:11:35,204 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:11:35,264 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-23 14:11:35,265 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-23 14:11:37,291 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:11:37,292 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_34|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_34| ULTIMATE.start_main_p2))) (and (= |#memory_int| (store |v_#memory_int_34| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_34| ULTIMATE.start_main_p1) 0) (= .cse0 0) (= (select |v_#memory_int_34| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_34| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_34| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:11:37,292 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:11:37,379 INFO L273 TraceCheckUtils]: 0: Hoare triple {452#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {459#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:11:37,383 INFO L273 TraceCheckUtils]: 1: Hoare triple {459#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {463#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2018-12-23 14:11:37,384 INFO L273 TraceCheckUtils]: 2: Hoare triple {463#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {453#false} is VALID [2018-12-23 14:11:37,384 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-23 14:11:37,385 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:11:37,490 INFO L273 TraceCheckUtils]: 2: Hoare triple {467#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {453#false} is VALID [2018-12-23 14:11:37,491 INFO L273 TraceCheckUtils]: 1: Hoare triple {471#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {467#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:11:37,493 INFO L273 TraceCheckUtils]: 0: Hoare triple {452#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {471#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:11:37,494 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-23 14:11:37,514 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:11:37,515 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-23 14:11:37,515 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:11:37,515 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2018-12-23 14:11:37,515 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:11:37,516 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-23 14:11:37,531 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-23 14:11:37,531 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-23 14:11:37,532 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-23 14:11:37,532 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-23 14:11:37,532 INFO L87 Difference]: Start difference. First operand 17 states and 37 transitions. Second operand 6 states. [2018-12-23 14:11:38,164 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:11:38,165 INFO L93 Difference]: Finished difference Result 39 states and 66 transitions. [2018-12-23 14:11:38,165 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-12-23 14:11:38,165 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2018-12-23 14:11:38,165 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:11:38,166 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-23 14:11:38,167 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 54 transitions. [2018-12-23 14:11:38,167 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-23 14:11:38,168 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 54 transitions. [2018-12-23 14:11:38,169 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 54 transitions. [2018-12-23 14:11:38,367 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:11:38,368 INFO L225 Difference]: With dead ends: 39 [2018-12-23 14:11:38,369 INFO L226 Difference]: Without dead ends: 38 [2018-12-23 14:11:38,369 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2018-12-23 14:11:38,369 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2018-12-23 14:11:38,420 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 18. [2018-12-23 14:11:38,421 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:11:38,421 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand 18 states. [2018-12-23 14:11:38,421 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 18 states. [2018-12-23 14:11:38,421 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 18 states. [2018-12-23 14:11:38,423 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:11:38,424 INFO L93 Difference]: Finished difference Result 38 states and 64 transitions. [2018-12-23 14:11:38,424 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 64 transitions. [2018-12-23 14:11:38,424 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:11:38,425 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:11:38,425 INFO L74 IsIncluded]: Start isIncluded. First operand 18 states. Second operand 38 states. [2018-12-23 14:11:38,425 INFO L87 Difference]: Start difference. First operand 18 states. Second operand 38 states. [2018-12-23 14:11:38,427 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:11:38,428 INFO L93 Difference]: Finished difference Result 38 states and 64 transitions. [2018-12-23 14:11:38,428 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 64 transitions. [2018-12-23 14:11:38,428 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:11:38,428 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:11:38,429 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:11:38,429 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:11:38,429 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-12-23 14:11:38,430 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 43 transitions. [2018-12-23 14:11:38,430 INFO L78 Accepts]: Start accepts. Automaton has 18 states and 43 transitions. Word has length 3 [2018-12-23 14:11:38,431 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:11:38,431 INFO L480 AbstractCegarLoop]: Abstraction has 18 states and 43 transitions. [2018-12-23 14:11:38,431 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-23 14:11:38,431 INFO L276 IsEmpty]: Start isEmpty. Operand 18 states and 43 transitions. [2018-12-23 14:11:38,431 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-23 14:11:38,432 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:11:38,432 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-23 14:11:38,432 INFO L423 AbstractCegarLoop]: === Iteration 6 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:11:38,432 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:11:38,433 INFO L82 PathProgramCache]: Analyzing trace with hash 941462, now seen corresponding path program 1 times [2018-12-23 14:11:38,433 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:11:38,434 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:11:38,434 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:11:38,434 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:11:38,434 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:11:38,447 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:11:38,708 INFO L273 TraceCheckUtils]: 0: Hoare triple {620#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {622#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:11:38,709 INFO L273 TraceCheckUtils]: 1: Hoare triple {622#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {623#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:11:38,710 INFO L273 TraceCheckUtils]: 2: Hoare triple {623#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {624#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:11:38,711 INFO L273 TraceCheckUtils]: 3: Hoare triple {624#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {621#false} is VALID [2018-12-23 14:11:38,711 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-23 14:11:38,712 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:11:38,712 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:11:38,712 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-23 14:11:38,712 INFO L207 CegarAbsIntRunner]: [0], [18], [20], [23] [2018-12-23 14:11:38,714 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:11:38,714 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:11:38,734 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:11:38,735 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:11:38,735 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:11:38,735 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:11:38,735 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:11:38,735 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-23 14:11:38,743 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:11:38,744 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:11:38,763 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:11:38,774 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:11:38,774 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:11:38,902 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:11:38,916 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:38,917 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:11:38,935 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:38,936 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:38,938 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:11:39,028 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:39,030 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:39,031 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:39,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, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:11:39,060 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:39,062 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:39,064 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:39,065 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:39,068 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:11:39,071 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:11:39,108 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:11:39,129 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:11:39,145 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:11:39,159 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:11:39,187 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-23 14:11:39,187 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2018-12-23 14:11:39,194 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:11:39,195 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_36|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_36| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:11:39,195 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:11:39,278 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:39,280 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:39,281 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:39,283 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:39,285 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:39,286 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:39,288 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:39,294 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:39,296 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:39,297 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:39,298 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:39,300 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-23 14:11:39,304 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:11:39,358 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-23 14:11:39,359 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-23 14:11:41,371 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:11:41,371 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_37|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_37| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_37| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_37| ULTIMATE.start_main_p3)) (= 0 .cse0) (= 0 (select |v_#memory_int_37| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_37| ULTIMATE.start_main_p1) 0) (= |#memory_int| (store |v_#memory_int_37| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:11:41,371 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:11:41,654 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:41,656 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:41,658 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:41,659 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:41,661 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:41,664 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:41,666 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:41,690 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:41,709 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:41,711 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:41,712 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:41,713 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:41,714 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:41,716 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-23 14:11:41,725 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:11:41,791 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-23 14:11:41,792 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2018-12-23 14:11:43,830 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:11:43,831 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_38|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_38| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |v_#memory_int_38| ULTIMATE.start_main_p4) 1)) (= 0 .cse0) (= (select |v_#memory_int_38| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_38| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_38| ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_38| ULTIMATE.start_main_p5 (+ .cse0 1))))) [2018-12-23 14:11:43,831 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:11:43,903 INFO L273 TraceCheckUtils]: 0: Hoare triple {620#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {628#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:11:43,906 INFO L273 TraceCheckUtils]: 1: Hoare triple {628#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {632#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2018-12-23 14:11:43,910 INFO L273 TraceCheckUtils]: 2: Hoare triple {632#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {636#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-23 14:11:43,911 INFO L273 TraceCheckUtils]: 3: Hoare triple {636#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {621#false} is VALID [2018-12-23 14:11:43,912 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-23 14:11:43,912 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:11:44,052 INFO L273 TraceCheckUtils]: 3: Hoare triple {640#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {621#false} is VALID [2018-12-23 14:11:44,053 INFO L273 TraceCheckUtils]: 2: Hoare triple {644#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {640#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:11:44,054 INFO L273 TraceCheckUtils]: 1: Hoare triple {648#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {644#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:11:44,056 INFO L273 TraceCheckUtils]: 0: Hoare triple {620#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {648#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:11:44,056 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-23 14:11:44,076 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:11:44,076 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:11:44,076 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:11:44,077 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:11:44,077 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:11:44,077 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:11:44,092 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-23 14:11:44,093 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:11:44,093 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:11:44,093 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:11:44,093 INFO L87 Difference]: Start difference. First operand 18 states and 43 transitions. Second operand 8 states. [2018-12-23 14:11:45,278 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:11:45,278 INFO L93 Difference]: Finished difference Result 49 states and 91 transitions. [2018-12-23 14:11:45,279 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-23 14:11:45,279 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:11:45,279 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:11:45,279 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:11:45,280 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 67 transitions. [2018-12-23 14:11:45,280 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:11:45,282 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 67 transitions. [2018-12-23 14:11:45,282 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 67 transitions. [2018-12-23 14:11:45,479 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:11:45,481 INFO L225 Difference]: With dead ends: 49 [2018-12-23 14:11:45,481 INFO L226 Difference]: Without dead ends: 44 [2018-12-23 14:11:45,482 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:11:45,482 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2018-12-23 14:11:45,530 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 22. [2018-12-23 14:11:45,531 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:11:45,531 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand 22 states. [2018-12-23 14:11:45,531 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 22 states. [2018-12-23 14:11:45,531 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 22 states. [2018-12-23 14:11:45,533 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:11:45,534 INFO L93 Difference]: Finished difference Result 44 states and 84 transitions. [2018-12-23 14:11:45,534 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 84 transitions. [2018-12-23 14:11:45,534 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:11:45,534 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:11:45,534 INFO L74 IsIncluded]: Start isIncluded. First operand 22 states. Second operand 44 states. [2018-12-23 14:11:45,534 INFO L87 Difference]: Start difference. First operand 22 states. Second operand 44 states. [2018-12-23 14:11:45,537 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:11:45,537 INFO L93 Difference]: Finished difference Result 44 states and 84 transitions. [2018-12-23 14:11:45,537 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 84 transitions. [2018-12-23 14:11:45,538 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:11:45,538 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:11:45,538 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:11:45,538 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:11:45,538 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2018-12-23 14:11:45,540 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 58 transitions. [2018-12-23 14:11:45,540 INFO L78 Accepts]: Start accepts. Automaton has 22 states and 58 transitions. Word has length 4 [2018-12-23 14:11:45,540 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:11:45,540 INFO L480 AbstractCegarLoop]: Abstraction has 22 states and 58 transitions. [2018-12-23 14:11:45,540 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:11:45,540 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 58 transitions. [2018-12-23 14:11:45,541 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-23 14:11:45,541 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:11:45,541 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-23 14:11:45,541 INFO L423 AbstractCegarLoop]: === Iteration 7 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:11:45,541 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:11:45,542 INFO L82 PathProgramCache]: Analyzing trace with hash 941028, now seen corresponding path program 1 times [2018-12-23 14:11:45,542 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:11:45,542 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:11:45,543 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:11:45,543 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:11:45,543 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:11:45,551 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:11:45,639 INFO L273 TraceCheckUtils]: 0: Hoare triple {830#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {832#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:11:45,641 INFO L273 TraceCheckUtils]: 1: Hoare triple {832#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {833#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:11:45,641 INFO L273 TraceCheckUtils]: 2: Hoare triple {833#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {834#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:11:45,642 INFO L273 TraceCheckUtils]: 3: Hoare triple {834#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {831#false} is VALID [2018-12-23 14:11:45,642 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-23 14:11:45,642 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:11:45,642 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:11:45,643 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-23 14:11:45,643 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [23] [2018-12-23 14:11:45,644 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:11:45,644 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:11:45,662 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:11:45,662 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:11:45,662 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:11:45,662 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:11:45,663 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:11:45,663 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-23 14:11:45,672 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:11:45,672 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:11:45,677 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:11:45,681 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:11:45,681 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:11:45,714 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:11:45,724 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:45,725 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:11:45,744 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:45,746 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:45,748 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:11:45,771 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:45,772 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:45,772 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:45,774 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:11:45,794 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:45,796 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:45,798 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:45,799 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:45,801 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:11:45,804 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:11:45,836 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:11:45,854 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:11:45,866 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:11:45,878 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:11:45,901 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-23 14:11:45,902 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:31, output treesize:38 [2018-12-23 14:11:45,914 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:11:45,914 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_41|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_41| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:11:45,914 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:11:45,977 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:45,978 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:45,979 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:45,980 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:45,981 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:45,984 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:45,985 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:45,986 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:45,987 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:45,988 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:45,989 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:45,991 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-23 14:11:45,995 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:11:46,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-23 14:11:46,048 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-23 14:11:48,061 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:11:48,061 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_42|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_42| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_42| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_42| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_42| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_42| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_42| ULTIMATE.start_main_p5) 0))) [2018-12-23 14:11:48,061 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:11:48,315 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:48,316 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:48,318 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:48,319 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:48,321 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:48,322 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:48,323 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:48,325 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:48,326 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:48,328 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:48,329 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:48,330 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:48,331 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:48,333 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 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-23 14:11:48,337 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:11:48,398 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-23 14:11:48,399 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2018-12-23 14:11:48,419 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:11:48,420 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_43|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_43| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_43| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (store |v_#memory_int_43| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_43| ULTIMATE.start_main_p3) 0) (= (+ (select |v_#memory_int_43| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_43| ULTIMATE.start_main_p5) 0))) [2018-12-23 14:11:48,420 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:11:48,453 INFO L273 TraceCheckUtils]: 0: Hoare triple {830#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {838#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:11:48,459 INFO L273 TraceCheckUtils]: 1: Hoare triple {838#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {842#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-23 14:11:48,468 INFO L273 TraceCheckUtils]: 2: Hoare triple {842#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {846#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:11:48,469 INFO L273 TraceCheckUtils]: 3: Hoare triple {846#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} assume !(#memory_int[main_p1] >= 0); {831#false} is VALID [2018-12-23 14:11:48,469 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-23 14:11:48,469 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:11:48,501 INFO L273 TraceCheckUtils]: 3: Hoare triple {834#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {831#false} is VALID [2018-12-23 14:11:48,502 INFO L273 TraceCheckUtils]: 2: Hoare triple {853#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {834#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:11:48,503 INFO L273 TraceCheckUtils]: 1: Hoare triple {857#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {853#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:11:48,505 INFO L273 TraceCheckUtils]: 0: Hoare triple {830#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {857#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:11:48,505 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-23 14:11:48,526 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:11:48,526 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2018-12-23 14:11:48,526 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:11:48,527 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:11:48,527 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:11:48,527 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:11:48,547 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-23 14:11:48,548 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:11:48,548 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:11:48,548 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=51, Unknown=0, NotChecked=0, Total=90 [2018-12-23 14:11:48,548 INFO L87 Difference]: Start difference. First operand 22 states and 58 transitions. Second operand 8 states. [2018-12-23 14:11:49,533 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:11:49,533 INFO L93 Difference]: Finished difference Result 47 states and 98 transitions. [2018-12-23 14:11:49,533 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-23 14:11:49,534 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:11:49,534 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:11:49,534 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:11:49,535 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 68 transitions. [2018-12-23 14:11:49,535 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:11:49,536 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 68 transitions. [2018-12-23 14:11:49,536 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 68 transitions. [2018-12-23 14:11:49,757 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-23 14:11:49,759 INFO L225 Difference]: With dead ends: 47 [2018-12-23 14:11:49,759 INFO L226 Difference]: Without dead ends: 46 [2018-12-23 14:11:49,759 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=47, Invalid=63, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:11:49,759 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2018-12-23 14:11:49,957 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 24. [2018-12-23 14:11:49,957 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:11:49,957 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand 24 states. [2018-12-23 14:11:49,958 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 24 states. [2018-12-23 14:11:49,958 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 24 states. [2018-12-23 14:11:49,962 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:11:49,962 INFO L93 Difference]: Finished difference Result 46 states and 96 transitions. [2018-12-23 14:11:49,962 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 96 transitions. [2018-12-23 14:11:49,963 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:11:49,963 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:11:49,963 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 46 states. [2018-12-23 14:11:49,963 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 46 states. [2018-12-23 14:11:49,966 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:11:49,966 INFO L93 Difference]: Finished difference Result 46 states and 96 transitions. [2018-12-23 14:11:49,966 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 96 transitions. [2018-12-23 14:11:49,967 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:11:49,967 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:11:49,967 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:11:49,967 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:11:49,967 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-12-23 14:11:49,969 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 70 transitions. [2018-12-23 14:11:49,969 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 70 transitions. Word has length 4 [2018-12-23 14:11:49,970 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:11:49,970 INFO L480 AbstractCegarLoop]: Abstraction has 24 states and 70 transitions. [2018-12-23 14:11:49,970 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:11:49,970 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 70 transitions. [2018-12-23 14:11:49,970 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-23 14:11:49,971 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:11:49,971 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-23 14:11:49,971 INFO L423 AbstractCegarLoop]: === Iteration 8 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:11:49,971 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:11:49,971 INFO L82 PathProgramCache]: Analyzing trace with hash 941588, now seen corresponding path program 1 times [2018-12-23 14:11:49,972 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:11:49,972 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:11:49,972 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:11:49,973 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:11:49,973 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:11:49,981 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:11:50,110 INFO L273 TraceCheckUtils]: 0: Hoare triple {1045#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1047#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:11:50,112 INFO L273 TraceCheckUtils]: 1: Hoare triple {1047#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1048#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:11:50,113 INFO L273 TraceCheckUtils]: 2: Hoare triple {1048#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {1048#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:11:50,114 INFO L273 TraceCheckUtils]: 3: Hoare triple {1048#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {1046#false} is VALID [2018-12-23 14:11:50,114 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-23 14:11:50,114 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:11:50,115 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:11:50,115 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-23 14:11:50,115 INFO L207 CegarAbsIntRunner]: [0], [18], [24], [25] [2018-12-23 14:11:50,116 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:11:50,117 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:11:50,150 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:11:50,150 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-23 14:11:50,150 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:11:50,151 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:11:50,151 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:11:50,151 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 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-23 14:11:50,159 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:11:50,159 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:11:50,165 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:11:50,171 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:11:50,171 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:11:50,205 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:11:50,216 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:11:50,258 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:50,259 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-23 14:11:50,272 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:50,273 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:50,275 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-23 14:11:50,306 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:50,309 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:50,310 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:50,312 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:11:50,316 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:11:50,337 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:11:50,350 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:11:50,362 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:11:50,374 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:11:50,394 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-23 14:11:50,395 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:28, output treesize:35 [2018-12-23 14:11:50,404 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:11:50,404 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_46|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_46| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:11:50,404 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:11:50,467 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:50,468 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:50,470 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:50,471 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:50,472 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:50,474 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:50,475 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:50,477 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 45 [2018-12-23 14:11:50,480 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:11:50,510 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-23 14:11:50,511 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2018-12-23 14:11:51,973 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:11:51,974 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_47|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_47| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_47| ULTIMATE.start_main_p3) 0) (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_47| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_47| ULTIMATE.start_main_p2) 0) (= |#memory_int| (store |v_#memory_int_47| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:11:51,974 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:11:52,021 INFO L273 TraceCheckUtils]: 0: Hoare triple {1045#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1052#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:11:52,023 INFO L273 TraceCheckUtils]: 1: Hoare triple {1052#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1056#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:11:52,024 INFO L273 TraceCheckUtils]: 2: Hoare triple {1056#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {1056#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:11:52,027 INFO L273 TraceCheckUtils]: 3: Hoare triple {1056#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {1046#false} is VALID [2018-12-23 14:11:52,028 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-23 14:11:52,028 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:11:52,049 INFO L273 TraceCheckUtils]: 3: Hoare triple {1063#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {1046#false} is VALID [2018-12-23 14:11:52,050 INFO L273 TraceCheckUtils]: 2: Hoare triple {1063#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {1063#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:11:52,051 INFO L273 TraceCheckUtils]: 1: Hoare triple {1070#(<= (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1063#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:11:52,054 INFO L273 TraceCheckUtils]: 0: Hoare triple {1045#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1070#(<= (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:11:52,054 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-23 14:11:52,073 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 2 imperfect interpolant sequences. [2018-12-23 14:11:52,073 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2, 2] total 6 [2018-12-23 14:11:52,073 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-23 14:11:52,074 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 4 [2018-12-23 14:11:52,074 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:11:52,074 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-12-23 14:11:52,133 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-23 14:11:52,133 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-12-23 14:11:52,133 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-12-23 14:11:52,134 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=30, Unknown=0, NotChecked=0, Total=56 [2018-12-23 14:11:52,134 INFO L87 Difference]: Start difference. First operand 24 states and 70 transitions. Second operand 4 states. [2018-12-23 14:11:52,533 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:11:52,533 INFO L93 Difference]: Finished difference Result 28 states and 79 transitions. [2018-12-23 14:11:52,533 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-12-23 14:11:52,534 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 4 [2018-12-23 14:11:52,534 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:11:52,534 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-23 14:11:52,535 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 24 transitions. [2018-12-23 14:11:52,535 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-23 14:11:52,536 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 24 transitions. [2018-12-23 14:11:52,536 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 24 transitions. [2018-12-23 14:11:52,559 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:11:52,560 INFO L225 Difference]: With dead ends: 28 [2018-12-23 14:11:52,560 INFO L226 Difference]: Without dead ends: 27 [2018-12-23 14:11:52,561 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=26, Invalid=30, Unknown=0, NotChecked=0, Total=56 [2018-12-23 14:11:52,561 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2018-12-23 14:11:52,648 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 26. [2018-12-23 14:11:52,649 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:11:52,649 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand 26 states. [2018-12-23 14:11:52,649 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 26 states. [2018-12-23 14:11:52,649 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 26 states. [2018-12-23 14:11:52,652 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:11:52,652 INFO L93 Difference]: Finished difference Result 27 states and 77 transitions. [2018-12-23 14:11:52,652 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 77 transitions. [2018-12-23 14:11:52,653 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:11:52,653 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:11:52,653 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 27 states. [2018-12-23 14:11:52,653 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 27 states. [2018-12-23 14:11:52,655 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:11:52,655 INFO L93 Difference]: Finished difference Result 27 states and 77 transitions. [2018-12-23 14:11:52,655 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 77 transitions. [2018-12-23 14:11:52,656 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:11:52,656 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:11:52,656 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:11:52,656 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:11:52,656 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-12-23 14:11:52,658 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 77 transitions. [2018-12-23 14:11:52,658 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 77 transitions. Word has length 4 [2018-12-23 14:11:52,658 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:11:52,658 INFO L480 AbstractCegarLoop]: Abstraction has 26 states and 77 transitions. [2018-12-23 14:11:52,658 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-12-23 14:11:52,658 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 77 transitions. [2018-12-23 14:11:52,659 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-23 14:11:52,659 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:11:52,659 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-23 14:11:52,659 INFO L423 AbstractCegarLoop]: === Iteration 9 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:11:52,659 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:11:52,660 INFO L82 PathProgramCache]: Analyzing trace with hash 941152, now seen corresponding path program 1 times [2018-12-23 14:11:52,660 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:11:52,661 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:11:52,661 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:11:52,661 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:11:52,661 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:11:52,672 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:11:53,061 WARN L181 SmtUtils]: Spent 101.00 ms on a formula simplification. DAG size of input: 30 DAG size of output: 17 [2018-12-23 14:11:53,107 INFO L273 TraceCheckUtils]: 0: Hoare triple {1201#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1203#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:11:53,108 INFO L273 TraceCheckUtils]: 1: Hoare triple {1203#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1204#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:11:53,109 INFO L273 TraceCheckUtils]: 2: Hoare triple {1204#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1205#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:11:53,110 INFO L273 TraceCheckUtils]: 3: Hoare triple {1205#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {1202#false} is VALID [2018-12-23 14:11:53,111 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:11:53,111 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:11:53,111 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:11:53,111 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-23 14:11:53,111 INFO L207 CegarAbsIntRunner]: [0], [10], [18], [23] [2018-12-23 14:11:53,113 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:11:53,113 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:11:53,136 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:11:53,137 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:11:53,137 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:11:53,137 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:11:53,137 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:11:53,137 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 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-23 14:11:53,146 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:11:53,146 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:11:53,157 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:11:53,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:11:53,176 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:11:53,203 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:11:53,211 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:53,212 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:11:53,227 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:53,228 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:53,229 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:11:53,246 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:53,247 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:53,248 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:53,250 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:11:53,270 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:53,272 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:53,273 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:53,274 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:53,276 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:11:53,283 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:11:53,313 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:11:53,330 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:11:53,344 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:11:53,356 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:11:53,379 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-23 14:11:53,379 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2018-12-23 14:11:53,388 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:11:53,388 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_49|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_49| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:11:53,388 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:11:53,453 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:53,454 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:53,455 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:53,455 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:53,457 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:53,458 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:53,459 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:53,461 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:53,462 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:53,463 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:53,465 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:53,466 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-23 14:11:53,470 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:11:53,515 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-23 14:11:53,515 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-23 14:11:55,526 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:11:55,526 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_50|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_50| ULTIMATE.start_main_p4))) (and (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_50| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 .cse0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:11:55,526 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:11:55,693 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:55,694 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:55,696 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:55,697 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:55,698 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:55,700 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:55,702 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:55,703 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:55,704 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:55,706 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:55,707 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:55,708 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:11:55,709 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-23 14:11:55,714 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:11:55,767 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:11:55,767 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2018-12-23 14:11:55,809 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:11:55,809 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_51|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_51| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_51| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (select |v_#memory_int_51| ULTIMATE.start_main_p5) 0) (= 0 (+ (select |v_#memory_int_51| ULTIMATE.start_main_p4) 1)) (= (store |v_#memory_int_51| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_51| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:11:55,809 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:11:55,877 INFO L273 TraceCheckUtils]: 0: Hoare triple {1201#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1209#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:11:55,881 INFO L273 TraceCheckUtils]: 1: Hoare triple {1209#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1213#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:11:55,889 INFO L273 TraceCheckUtils]: 2: Hoare triple {1213#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1217#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2018-12-23 14:11:55,890 INFO L273 TraceCheckUtils]: 3: Hoare triple {1217#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {1202#false} is VALID [2018-12-23 14:11:55,891 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-23 14:11:55,891 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:11:55,942 INFO L273 TraceCheckUtils]: 3: Hoare triple {1221#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1202#false} is VALID [2018-12-23 14:11:55,943 INFO L273 TraceCheckUtils]: 2: Hoare triple {1225#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1221#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:11:55,945 INFO L273 TraceCheckUtils]: 1: Hoare triple {1229#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1225#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:11:55,947 INFO L273 TraceCheckUtils]: 0: Hoare triple {1201#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1229#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:11:55,948 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-23 14:11:55,967 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:11:55,967 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:11:55,968 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:11:55,968 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:11:55,968 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:11:55,968 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:11:55,989 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-23 14:11:55,989 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:11:55,989 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:11:55,989 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=67, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:11:55,990 INFO L87 Difference]: Start difference. First operand 26 states and 77 transitions. Second operand 8 states. [2018-12-23 14:11:57,560 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:11:57,560 INFO L93 Difference]: Finished difference Result 44 states and 95 transitions. [2018-12-23 14:11:57,561 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-23 14:11:57,561 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:11:57,561 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:11:57,561 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:11:57,562 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 59 transitions. [2018-12-23 14:11:57,562 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:11:57,563 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 59 transitions. [2018-12-23 14:11:57,564 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 59 transitions. [2018-12-23 14:11:57,737 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:11:57,739 INFO L225 Difference]: With dead ends: 44 [2018-12-23 14:11:57,739 INFO L226 Difference]: Without dead ends: 43 [2018-12-23 14:11:57,740 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-23 14:11:57,740 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2018-12-23 14:11:57,875 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 25. [2018-12-23 14:11:57,876 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:11:57,876 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 25 states. [2018-12-23 14:11:57,876 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 25 states. [2018-12-23 14:11:57,876 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 25 states. [2018-12-23 14:11:57,879 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:11:57,879 INFO L93 Difference]: Finished difference Result 43 states and 93 transitions. [2018-12-23 14:11:57,879 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 93 transitions. [2018-12-23 14:11:57,880 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:11:57,880 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:11:57,880 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand 43 states. [2018-12-23 14:11:57,880 INFO L87 Difference]: Start difference. First operand 25 states. Second operand 43 states. [2018-12-23 14:11:57,882 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:11:57,882 INFO L93 Difference]: Finished difference Result 43 states and 93 transitions. [2018-12-23 14:11:57,882 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 93 transitions. [2018-12-23 14:11:57,883 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:11:57,883 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:11:57,883 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:11:57,883 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:11:57,883 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2018-12-23 14:11:57,884 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 70 transitions. [2018-12-23 14:11:57,885 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 70 transitions. Word has length 4 [2018-12-23 14:11:57,885 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:11:57,885 INFO L480 AbstractCegarLoop]: Abstraction has 25 states and 70 transitions. [2018-12-23 14:11:57,885 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:11:57,885 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 70 transitions. [2018-12-23 14:11:57,885 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-23 14:11:57,885 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:11:57,886 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-23 14:11:57,886 INFO L423 AbstractCegarLoop]: === Iteration 10 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:11:57,886 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:11:57,886 INFO L82 PathProgramCache]: Analyzing trace with hash 943510, now seen corresponding path program 1 times [2018-12-23 14:11:57,886 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:11:57,887 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:11:57,887 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:11:57,887 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:11:57,887 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:11:57,895 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:11:58,009 INFO L273 TraceCheckUtils]: 0: Hoare triple {1411#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1413#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:11:58,010 INFO L273 TraceCheckUtils]: 1: Hoare triple {1413#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {1414#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:11:58,011 INFO L273 TraceCheckUtils]: 2: Hoare triple {1414#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {1414#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:11:58,012 INFO L273 TraceCheckUtils]: 3: Hoare triple {1414#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {1412#false} is VALID [2018-12-23 14:11:58,012 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-23 14:11:58,013 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:11:58,013 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:11:58,013 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-23 14:11:58,013 INFO L207 CegarAbsIntRunner]: [0], [20], [24], [25] [2018-12-23 14:11:58,015 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:11:58,015 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:11:58,049 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:11:58,049 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-23 14:11:58,049 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:11:58,049 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:11:58,049 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:11:58,050 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-23 14:11:58,060 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:11:58,061 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:11:58,065 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:11:58,070 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:11:58,071 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:11:58,097 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:11:58,107 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:11:58,121 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:58,124 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-23 14:11:58,160 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:58,162 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:58,166 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-23 14:11:58,183 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:58,187 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:58,189 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:58,190 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:11:58,202 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:11:58,222 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:11:58,236 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:11:58,249 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:11:58,260 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:11:58,282 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-23 14:11:58,283 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:28, output treesize:35 [2018-12-23 14:11:58,293 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:11:58,293 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_54|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_54| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:11:58,293 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:11:58,388 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:58,389 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:58,391 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:58,392 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:58,393 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:58,394 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:58,396 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:58,397 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 51 [2018-12-23 14:11:58,410 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:11:58,443 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-23 14:11:58,443 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2018-12-23 14:11:58,541 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:11:58,541 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_55|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_55| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_55| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (select |v_#memory_int_55| ULTIMATE.start_main_p3) 0) (= 0 (select |v_#memory_int_55| ULTIMATE.start_main_p4)) (= (store |v_#memory_int_55| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:11:58,541 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:11:58,588 INFO L273 TraceCheckUtils]: 0: Hoare triple {1411#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1418#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:11:58,591 INFO L273 TraceCheckUtils]: 1: Hoare triple {1418#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {1422#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-23 14:11:58,592 INFO L273 TraceCheckUtils]: 2: Hoare triple {1422#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {1422#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-23 14:11:58,593 INFO L273 TraceCheckUtils]: 3: Hoare triple {1422#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p2] <= 0); {1412#false} is VALID [2018-12-23 14:11:58,593 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-23 14:11:58,594 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:11:58,619 INFO L273 TraceCheckUtils]: 3: Hoare triple {1429#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {1412#false} is VALID [2018-12-23 14:11:58,619 INFO L273 TraceCheckUtils]: 2: Hoare triple {1429#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {1429#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:11:58,620 INFO L273 TraceCheckUtils]: 1: Hoare triple {1436#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {1429#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:11:58,621 INFO L273 TraceCheckUtils]: 0: Hoare triple {1411#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1436#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:11:58,622 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-23 14:11:58,642 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:11:58,642 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-23 14:11:58,642 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:11:58,642 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2018-12-23 14:11:58,643 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:11:58,643 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-23 14:11:58,678 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-23 14:11:58,679 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-23 14:11:58,679 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-23 14:11:58,679 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-23 14:11:58,679 INFO L87 Difference]: Start difference. First operand 25 states and 70 transitions. Second operand 6 states. [2018-12-23 14:11:59,210 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:11:59,210 INFO L93 Difference]: Finished difference Result 43 states and 96 transitions. [2018-12-23 14:11:59,210 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-12-23 14:11:59,210 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2018-12-23 14:11:59,210 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:11:59,210 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-23 14:11:59,211 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 49 transitions. [2018-12-23 14:11:59,211 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-23 14:11:59,212 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 49 transitions. [2018-12-23 14:11:59,212 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 49 transitions. [2018-12-23 14:11:59,283 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:11:59,284 INFO L225 Difference]: With dead ends: 43 [2018-12-23 14:11:59,284 INFO L226 Difference]: Without dead ends: 42 [2018-12-23 14:11:59,285 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-23 14:11:59,285 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2018-12-23 14:11:59,477 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 26. [2018-12-23 14:11:59,477 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:11:59,477 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand 26 states. [2018-12-23 14:11:59,477 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 26 states. [2018-12-23 14:11:59,477 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 26 states. [2018-12-23 14:11:59,479 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:11:59,479 INFO L93 Difference]: Finished difference Result 42 states and 94 transitions. [2018-12-23 14:11:59,479 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 94 transitions. [2018-12-23 14:11:59,479 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:11:59,479 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:11:59,479 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 42 states. [2018-12-23 14:11:59,480 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 42 states. [2018-12-23 14:11:59,481 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:11:59,481 INFO L93 Difference]: Finished difference Result 42 states and 94 transitions. [2018-12-23 14:11:59,481 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 94 transitions. [2018-12-23 14:11:59,481 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:11:59,481 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:11:59,482 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:11:59,482 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:11:59,482 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-12-23 14:11:59,483 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 76 transitions. [2018-12-23 14:11:59,483 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 76 transitions. Word has length 4 [2018-12-23 14:11:59,483 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:11:59,483 INFO L480 AbstractCegarLoop]: Abstraction has 26 states and 76 transitions. [2018-12-23 14:11:59,483 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-23 14:11:59,483 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 76 transitions. [2018-12-23 14:11:59,484 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-23 14:11:59,484 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:11:59,484 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-23 14:11:59,484 INFO L423 AbstractCegarLoop]: === Iteration 11 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:11:59,484 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:11:59,484 INFO L82 PathProgramCache]: Analyzing trace with hash 943074, now seen corresponding path program 1 times [2018-12-23 14:11:59,485 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:11:59,485 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:11:59,485 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:11:59,486 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:11:59,486 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:11:59,494 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:11:59,619 INFO L273 TraceCheckUtils]: 0: Hoare triple {1615#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1617#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:11:59,620 INFO L273 TraceCheckUtils]: 1: Hoare triple {1617#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {1618#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:11:59,621 INFO L273 TraceCheckUtils]: 2: Hoare triple {1618#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1619#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:11:59,622 INFO L273 TraceCheckUtils]: 3: Hoare triple {1619#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {1616#false} is VALID [2018-12-23 14:11:59,623 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-23 14:11:59,623 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:11:59,623 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:11:59,623 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-23 14:11:59,624 INFO L207 CegarAbsIntRunner]: [0], [10], [20], [23] [2018-12-23 14:11:59,625 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:11:59,625 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:11:59,638 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:11:59,638 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:11:59,638 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:11:59,639 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:11:59,639 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:11:59,639 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-23 14:11:59,649 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:11:59,650 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:11:59,654 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:11:59,658 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:11:59,659 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:11:59,697 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:11:59,710 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:59,710 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:11:59,721 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:59,722 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:59,723 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:11:59,753 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:59,755 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:59,757 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:59,758 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:11:59,785 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:59,786 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:59,787 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:59,788 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:59,789 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:11:59,793 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:11:59,825 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:11:59,842 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:11:59,858 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:11:59,868 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:11:59,892 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-23 14:11:59,893 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2018-12-23 14:11:59,904 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:11:59,904 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_57|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_57| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:11:59,905 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:11:59,959 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:59,961 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:59,962 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:59,963 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:59,965 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:59,966 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:59,967 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:59,968 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:59,970 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:59,971 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:59,972 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:11:59,975 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-23 14:11:59,978 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:12:00,027 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-23 14:12:00,028 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-23 14:12:02,035 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:12:02,035 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_58|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_58| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_58| ULTIMATE.start_main_p3) 0) (= 0 (select |v_#memory_int_58| ULTIMATE.start_main_p4)) (= (store |v_#memory_int_58| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_58| ULTIMATE.start_main_p1) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_58| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:12:02,035 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:12:02,117 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:02,119 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:02,120 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:02,121 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:02,122 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:02,123 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:02,125 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:02,126 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:02,127 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:02,128 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:02,130 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:02,131 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:02,132 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:02,133 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-23 14:12:02,137 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:12:02,189 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-23 14:12:02,190 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-23 14:12:02,238 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:12:02,238 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_59|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_59| ULTIMATE.start_main_p2))) (and (= 1 (select |v_#memory_int_59| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_59| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_59| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_59| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (= 0 (select |v_#memory_int_59| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:12:02,238 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:12:02,296 INFO L273 TraceCheckUtils]: 0: Hoare triple {1615#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1623#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:12:02,300 INFO L273 TraceCheckUtils]: 1: Hoare triple {1623#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {1627#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:12:02,304 INFO L273 TraceCheckUtils]: 2: Hoare triple {1627#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1631#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2018-12-23 14:12:02,305 INFO L273 TraceCheckUtils]: 3: Hoare triple {1631#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {1616#false} is VALID [2018-12-23 14:12:02,306 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-23 14:12:02,306 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:12:02,365 INFO L273 TraceCheckUtils]: 3: Hoare triple {1635#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1616#false} is VALID [2018-12-23 14:12:02,367 INFO L273 TraceCheckUtils]: 2: Hoare triple {1639#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1635#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:12:02,368 INFO L273 TraceCheckUtils]: 1: Hoare triple {1643#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {1639#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:12:02,371 INFO L273 TraceCheckUtils]: 0: Hoare triple {1615#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1643#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:12:02,371 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:12:02,392 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:12:02,392 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:12:02,392 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:12:02,392 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:12:02,393 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:12:02,393 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:12:02,408 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-23 14:12:02,408 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:12:02,409 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:12:02,409 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:12:02,409 INFO L87 Difference]: Start difference. First operand 26 states and 76 transitions. Second operand 8 states. [2018-12-23 14:12:03,590 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:03,591 INFO L93 Difference]: Finished difference Result 56 states and 123 transitions. [2018-12-23 14:12:03,591 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-23 14:12:03,591 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:12:03,591 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:12:03,591 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:12:03,591 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 63 transitions. [2018-12-23 14:12:03,592 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:12:03,592 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 63 transitions. [2018-12-23 14:12:03,592 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 63 transitions. [2018-12-23 14:12:03,752 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-23 14:12:03,753 INFO L225 Difference]: With dead ends: 56 [2018-12-23 14:12:03,753 INFO L226 Difference]: Without dead ends: 55 [2018-12-23 14:12:03,754 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-23 14:12:03,754 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2018-12-23 14:12:03,924 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 28. [2018-12-23 14:12:03,924 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:12:03,925 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 28 states. [2018-12-23 14:12:03,925 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 28 states. [2018-12-23 14:12:03,925 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 28 states. [2018-12-23 14:12:03,927 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:03,927 INFO L93 Difference]: Finished difference Result 55 states and 121 transitions. [2018-12-23 14:12:03,927 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 121 transitions. [2018-12-23 14:12:03,928 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:12:03,928 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:12:03,928 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 55 states. [2018-12-23 14:12:03,928 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 55 states. [2018-12-23 14:12:03,930 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:03,930 INFO L93 Difference]: Finished difference Result 55 states and 121 transitions. [2018-12-23 14:12:03,930 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 121 transitions. [2018-12-23 14:12:03,931 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:12:03,931 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:12:03,931 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:12:03,931 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:12:03,931 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2018-12-23 14:12:03,932 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 88 transitions. [2018-12-23 14:12:03,932 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 88 transitions. Word has length 4 [2018-12-23 14:12:03,933 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:12:03,933 INFO L480 AbstractCegarLoop]: Abstraction has 28 states and 88 transitions. [2018-12-23 14:12:03,933 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:12:03,933 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 88 transitions. [2018-12-23 14:12:03,933 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-23 14:12:03,933 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:12:03,933 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-23 14:12:03,934 INFO L423 AbstractCegarLoop]: === Iteration 12 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:12:03,934 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:12:03,934 INFO L82 PathProgramCache]: Analyzing trace with hash 929868, now seen corresponding path program 2 times [2018-12-23 14:12:03,934 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:12:03,935 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:12:03,935 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:12:03,935 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:12:03,935 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:12:03,941 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:12:04,101 INFO L273 TraceCheckUtils]: 0: Hoare triple {1870#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1872#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:12:04,102 INFO L273 TraceCheckUtils]: 1: Hoare triple {1872#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {1873#(and (<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:12:04,103 INFO L273 TraceCheckUtils]: 2: Hoare triple {1873#(and (<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1874#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:12:04,110 INFO L273 TraceCheckUtils]: 3: Hoare triple {1874#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1871#false} is VALID [2018-12-23 14:12:04,110 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-23 14:12:04,110 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:12:04,110 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:12:04,110 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-23 14:12:04,111 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2018-12-23 14:12:04,111 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:12:04,111 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-23 14:12:04,119 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-23 14:12:04,119 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-23 14:12:04,127 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2018-12-23 14:12:04,127 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-23 14:12:04,132 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:12:04,133 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:12:04,157 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:12:04,166 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:04,167 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:12:04,180 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:04,181 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:04,183 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:12:04,202 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:04,204 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:04,206 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:04,207 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:12:04,230 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:04,231 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:04,232 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:04,233 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:04,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, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:12:04,241 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:12:04,271 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:04,288 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:04,304 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:04,318 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:04,342 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-23 14:12:04,342 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:31, output treesize:38 [2018-12-23 14:12:04,373 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:12:04,374 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_62|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_62| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:12:04,374 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:12:04,445 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:04,450 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:04,451 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:04,452 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:04,454 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:04,455 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:04,456 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:04,457 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:04,459 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:04,460 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:04,461 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:04,463 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-23 14:12:04,485 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:12:04,536 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-23 14:12:04,537 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-23 14:12:04,561 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:12:04,561 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_63|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_63| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_63| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_63| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (= (select |v_#memory_int_63| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_63| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_63| ULTIMATE.start_main_p5) 0))) [2018-12-23 14:12:04,562 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:12:04,642 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:04,644 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:04,645 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:04,646 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:04,648 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:04,649 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:04,650 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:04,652 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:04,653 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:04,658 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:04,659 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:04,660 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:04,661 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:04,663 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 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-23 14:12:04,676 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:12:04,731 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-23 14:12:04,732 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-23 14:12:04,747 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:12:04,748 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_64|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_64| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_64| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_64| ULTIMATE.start_main_p2) 0) (= .cse0 0) (= (select |v_#memory_int_64| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store |v_#memory_int_64| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_64| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:12:04,748 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:12:04,805 INFO L273 TraceCheckUtils]: 0: Hoare triple {1870#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1878#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:12:04,808 INFO L273 TraceCheckUtils]: 1: Hoare triple {1878#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {1882#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:12:04,812 INFO L273 TraceCheckUtils]: 2: Hoare triple {1882#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1886#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:12:04,813 INFO L273 TraceCheckUtils]: 3: Hoare triple {1886#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} assume !(#memory_int[main_p1] >= 0); {1871#false} is VALID [2018-12-23 14:12:04,814 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-23 14:12:04,814 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:12:04,844 INFO L273 TraceCheckUtils]: 3: Hoare triple {1874#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1871#false} is VALID [2018-12-23 14:12:04,846 INFO L273 TraceCheckUtils]: 2: Hoare triple {1893#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1874#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:12:04,847 INFO L273 TraceCheckUtils]: 1: Hoare triple {1897#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {1893#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:12:04,849 INFO L273 TraceCheckUtils]: 0: Hoare triple {1870#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1897#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:12:04,850 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-23 14:12:04,869 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:12:04,869 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2018-12-23 14:12:04,869 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:12:04,870 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:12:04,870 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:12:04,870 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:12:04,883 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-23 14:12:04,883 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:12:04,884 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:12:04,884 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=51, Unknown=0, NotChecked=0, Total=90 [2018-12-23 14:12:04,884 INFO L87 Difference]: Start difference. First operand 28 states and 88 transitions. Second operand 8 states. [2018-12-23 14:12:06,059 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:06,060 INFO L93 Difference]: Finished difference Result 66 states and 142 transitions. [2018-12-23 14:12:06,060 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-23 14:12:06,060 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:12:06,060 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:12:06,060 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:12:06,061 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 76 transitions. [2018-12-23 14:12:06,061 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:12:06,062 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 76 transitions. [2018-12-23 14:12:06,062 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 76 transitions. [2018-12-23 14:12:06,249 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-23 14:12:06,251 INFO L225 Difference]: With dead ends: 66 [2018-12-23 14:12:06,251 INFO L226 Difference]: Without dead ends: 64 [2018-12-23 14:12:06,252 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=46, Invalid=64, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:12:06,252 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2018-12-23 14:12:06,505 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 32. [2018-12-23 14:12:06,505 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:12:06,505 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand 32 states. [2018-12-23 14:12:06,506 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand 32 states. [2018-12-23 14:12:06,506 INFO L87 Difference]: Start difference. First operand 64 states. Second operand 32 states. [2018-12-23 14:12:06,509 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:06,509 INFO L93 Difference]: Finished difference Result 64 states and 139 transitions. [2018-12-23 14:12:06,509 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 139 transitions. [2018-12-23 14:12:06,510 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:12:06,510 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:12:06,510 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 64 states. [2018-12-23 14:12:06,510 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 64 states. [2018-12-23 14:12:06,512 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:06,513 INFO L93 Difference]: Finished difference Result 64 states and 139 transitions. [2018-12-23 14:12:06,513 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 139 transitions. [2018-12-23 14:12:06,513 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:12:06,513 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:12:06,513 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:12:06,514 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:12:06,514 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2018-12-23 14:12:06,515 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 99 transitions. [2018-12-23 14:12:06,515 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 99 transitions. Word has length 4 [2018-12-23 14:12:06,515 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:12:06,516 INFO L480 AbstractCegarLoop]: Abstraction has 32 states and 99 transitions. [2018-12-23 14:12:06,516 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:12:06,516 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 99 transitions. [2018-12-23 14:12:06,516 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-23 14:12:06,516 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:12:06,516 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-23 14:12:06,517 INFO L423 AbstractCegarLoop]: === Iteration 13 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:12:06,517 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:12:06,517 INFO L82 PathProgramCache]: Analyzing trace with hash 930056, now seen corresponding path program 1 times [2018-12-23 14:12:06,517 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:12:06,518 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:12:06,518 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-23 14:12:06,518 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:12:06,519 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:12:06,525 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:12:06,629 INFO L273 TraceCheckUtils]: 0: Hoare triple {2157#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {2159#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:12:06,630 INFO L273 TraceCheckUtils]: 1: Hoare triple {2159#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2160#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:12:06,631 INFO L273 TraceCheckUtils]: 2: Hoare triple {2160#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {2160#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:12:06,632 INFO L273 TraceCheckUtils]: 3: Hoare triple {2160#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {2158#false} is VALID [2018-12-23 14:12:06,632 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-23 14:12:06,633 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:12:06,633 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:12:06,633 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-23 14:12:06,633 INFO L207 CegarAbsIntRunner]: [0], [6], [24], [25] [2018-12-23 14:12:06,635 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:12:06,635 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:12:06,650 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:12:06,651 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-23 14:12:06,651 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:12:06,651 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:12:06,651 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:12:06,652 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-23 14:12:06,662 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:12:06,662 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:12:06,667 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:12:06,674 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:12:06,674 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:12:06,729 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:12:06,763 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:06,764 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:12:06,814 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:06,815 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:06,816 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:12:06,836 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:06,838 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:06,839 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:06,840 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:12:06,870 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:06,872 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:06,874 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:06,875 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:06,877 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:12:06,887 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:12:06,923 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:06,944 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:06,961 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:06,976 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:07,007 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-23 14:12:07,007 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:31, output treesize:38 [2018-12-23 14:12:07,019 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:12:07,019 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_67|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_67| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:12:07,020 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:12:07,134 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:07,135 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:07,137 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:07,138 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:07,140 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:07,141 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:07,143 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:07,144 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:07,146 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:07,147 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:07,149 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:07,150 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-23 14:12:07,157 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:12:07,219 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-23 14:12:07,220 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-23 14:12:07,980 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:12:07,981 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_68|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_68| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_68| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_68| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_68| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_68| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_68| ULTIMATE.start_main_p4) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:12:07,981 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:12:08,069 INFO L273 TraceCheckUtils]: 0: Hoare triple {2157#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {2164#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:12:08,072 INFO L273 TraceCheckUtils]: 1: Hoare triple {2164#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2168#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:12:08,089 INFO L273 TraceCheckUtils]: 2: Hoare triple {2168#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {2168#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:12:08,090 INFO L273 TraceCheckUtils]: 3: Hoare triple {2168#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {2158#false} is VALID [2018-12-23 14:12:08,090 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-23 14:12:08,090 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:12:08,150 INFO L273 TraceCheckUtils]: 3: Hoare triple {2175#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {2158#false} is VALID [2018-12-23 14:12:08,151 INFO L273 TraceCheckUtils]: 2: Hoare triple {2175#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {2175#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:12:08,151 INFO L273 TraceCheckUtils]: 1: Hoare triple {2182#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2175#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:12:08,153 INFO L273 TraceCheckUtils]: 0: Hoare triple {2157#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {2182#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:12:08,153 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:12:08,173 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:12:08,173 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-23 14:12:08,173 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:12:08,173 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2018-12-23 14:12:08,174 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:12:08,174 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-23 14:12:08,190 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-23 14:12:08,190 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-23 14:12:08,191 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-23 14:12:08,191 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-23 14:12:08,191 INFO L87 Difference]: Start difference. First operand 32 states and 99 transitions. Second operand 6 states. [2018-12-23 14:12:08,618 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:08,618 INFO L93 Difference]: Finished difference Result 45 states and 113 transitions. [2018-12-23 14:12:08,618 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-12-23 14:12:08,618 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2018-12-23 14:12:08,618 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:12:08,619 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-23 14:12:08,619 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 48 transitions. [2018-12-23 14:12:08,620 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-23 14:12:08,620 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 48 transitions. [2018-12-23 14:12:08,620 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 48 transitions. [2018-12-23 14:12:08,697 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:12:08,698 INFO L225 Difference]: With dead ends: 45 [2018-12-23 14:12:08,698 INFO L226 Difference]: Without dead ends: 44 [2018-12-23 14:12:08,699 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2018-12-23 14:12:08,699 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2018-12-23 14:12:08,961 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 33. [2018-12-23 14:12:08,962 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:12:08,962 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand 33 states. [2018-12-23 14:12:08,962 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 33 states. [2018-12-23 14:12:08,962 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 33 states. [2018-12-23 14:12:08,964 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:08,964 INFO L93 Difference]: Finished difference Result 44 states and 111 transitions. [2018-12-23 14:12:08,964 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 111 transitions. [2018-12-23 14:12:08,964 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:12:08,964 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:12:08,964 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 44 states. [2018-12-23 14:12:08,965 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 44 states. [2018-12-23 14:12:08,965 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:08,966 INFO L93 Difference]: Finished difference Result 44 states and 111 transitions. [2018-12-23 14:12:08,966 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 111 transitions. [2018-12-23 14:12:08,966 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:12:08,966 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:12:08,966 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:12:08,966 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:12:08,966 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-12-23 14:12:08,967 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 104 transitions. [2018-12-23 14:12:08,967 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 104 transitions. Word has length 4 [2018-12-23 14:12:08,967 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:12:08,967 INFO L480 AbstractCegarLoop]: Abstraction has 33 states and 104 transitions. [2018-12-23 14:12:08,967 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-23 14:12:08,967 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 104 transitions. [2018-12-23 14:12:08,968 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-23 14:12:08,968 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:12:08,968 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-23 14:12:08,968 INFO L423 AbstractCegarLoop]: === Iteration 14 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:12:08,968 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:12:08,968 INFO L82 PathProgramCache]: Analyzing trace with hash 947418, now seen corresponding path program 1 times [2018-12-23 14:12:08,969 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:12:08,969 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:12:08,969 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:12:08,969 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:12:08,970 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:12:08,974 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:12:09,008 INFO L273 TraceCheckUtils]: 0: Hoare triple {2381#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {2383#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-23 14:12:09,009 INFO L273 TraceCheckUtils]: 1: Hoare triple {2383#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p1] >= 0; {2383#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-23 14:12:09,013 INFO L273 TraceCheckUtils]: 2: Hoare triple {2383#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p2] <= 0; {2383#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-23 14:12:09,014 INFO L273 TraceCheckUtils]: 3: Hoare triple {2383#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {2382#false} is VALID [2018-12-23 14:12:09,014 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-23 14:12:09,014 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-12-23 14:12:09,014 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2018-12-23 14:12:09,014 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-23 14:12:09,014 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 4 [2018-12-23 14:12:09,015 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:12:09,015 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-12-23 14:12:09,019 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-23 14:12:09,019 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-12-23 14:12:09,019 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-12-23 14:12:09,019 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-12-23 14:12:09,020 INFO L87 Difference]: Start difference. First operand 33 states and 104 transitions. Second operand 3 states. [2018-12-23 14:12:09,242 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:09,243 INFO L93 Difference]: Finished difference Result 34 states and 104 transitions. [2018-12-23 14:12:09,243 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-12-23 14:12:09,243 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 4 [2018-12-23 14:12:09,243 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:12:09,243 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-12-23 14:12:09,244 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 23 transitions. [2018-12-23 14:12:09,244 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-12-23 14:12:09,244 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 23 transitions. [2018-12-23 14:12:09,244 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 23 transitions. [2018-12-23 14:12:09,522 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:12:09,523 INFO L225 Difference]: With dead ends: 34 [2018-12-23 14:12:09,523 INFO L226 Difference]: Without dead ends: 31 [2018-12-23 14:12:09,523 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-23 14:12:09,523 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2018-12-23 14:12:09,781 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 31. [2018-12-23 14:12:09,782 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:12:09,782 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand 31 states. [2018-12-23 14:12:09,782 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 31 states. [2018-12-23 14:12:09,782 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 31 states. [2018-12-23 14:12:09,784 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:09,784 INFO L93 Difference]: Finished difference Result 31 states and 101 transitions. [2018-12-23 14:12:09,784 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 101 transitions. [2018-12-23 14:12:09,784 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:12:09,785 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:12:09,785 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 31 states. [2018-12-23 14:12:09,785 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 31 states. [2018-12-23 14:12:09,786 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:09,786 INFO L93 Difference]: Finished difference Result 31 states and 101 transitions. [2018-12-23 14:12:09,786 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 101 transitions. [2018-12-23 14:12:09,787 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:12:09,787 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:12:09,787 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:12:09,787 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:12:09,787 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2018-12-23 14:12:09,788 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 101 transitions. [2018-12-23 14:12:09,788 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 101 transitions. Word has length 4 [2018-12-23 14:12:09,788 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:12:09,788 INFO L480 AbstractCegarLoop]: Abstraction has 31 states and 101 transitions. [2018-12-23 14:12:09,789 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-12-23 14:12:09,789 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 101 transitions. [2018-12-23 14:12:09,789 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-23 14:12:09,789 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:12:09,789 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-23 14:12:09,789 INFO L423 AbstractCegarLoop]: === Iteration 15 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:12:09,790 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:12:09,790 INFO L82 PathProgramCache]: Analyzing trace with hash 933340, now seen corresponding path program 1 times [2018-12-23 14:12:09,790 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:12:09,791 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:12:09,791 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:12:09,791 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:12:09,791 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:12:09,796 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:12:09,935 INFO L273 TraceCheckUtils]: 0: Hoare triple {2541#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {2543#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:12:09,936 INFO L273 TraceCheckUtils]: 1: Hoare triple {2543#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {2544#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:12:09,937 INFO L273 TraceCheckUtils]: 2: Hoare triple {2544#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2545#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:12:09,937 INFO L273 TraceCheckUtils]: 3: Hoare triple {2545#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {2542#false} is VALID [2018-12-23 14:12:09,938 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-23 14:12:09,938 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:12:09,938 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:12:09,938 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-23 14:12:09,938 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [23] [2018-12-23 14:12:09,939 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:12:09,939 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:12:09,958 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:12:09,958 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:12:09,958 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:12:09,958 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:12:09,958 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:12:09,959 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-23 14:12:09,968 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:12:09,968 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:12:09,973 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:12:09,979 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:12:09,979 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:12:09,998 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:12:10,007 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:10,008 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:12:10,017 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:10,018 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:10,019 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:12:10,034 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:10,036 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:10,037 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:10,038 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:12:10,058 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:10,059 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:10,061 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:10,062 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:10,063 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:12:10,068 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:12:10,100 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:10,116 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:10,130 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:10,142 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:10,166 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-23 14:12:10,167 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:31, output treesize:38 [2018-12-23 14:12:10,174 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:12:10,174 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_70|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_70| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:12:10,174 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:12:10,231 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:10,232 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:10,234 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:10,235 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:10,236 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:10,237 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:10,238 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:10,240 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:10,241 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:10,242 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:10,243 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:10,244 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-23 14:12:10,252 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:12:10,302 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-23 14:12:10,302 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-23 14:12:12,311 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:12:12,311 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_71|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_71| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_71| ULTIMATE.start_main_p4) 0) (= 0 (select |v_#memory_int_71| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_71| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_71| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |v_#memory_int_71| ULTIMATE.start_main_p1)) (= 0 .cse0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:12:12,311 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:12:12,519 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:12,521 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:12,522 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:12,523 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:12,525 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:12,526 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:12,528 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:12,529 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:12,530 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:12,532 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:12,533 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:12,534 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:12,535 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:12,537 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-23 14:12:12,541 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:12:12,600 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-23 14:12:12,601 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2018-12-23 14:12:12,620 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:12:12,620 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_72|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_72| ULTIMATE.start_main_p1))) (and (= (store |v_#memory_int_72| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_72| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_72| ULTIMATE.start_main_p4)) (= (select |v_#memory_int_72| ULTIMATE.start_main_p5) 0) (= (+ (select |v_#memory_int_72| ULTIMATE.start_main_p2) 1) 0) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:12:12,620 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-23 14:12:12,682 INFO L273 TraceCheckUtils]: 0: Hoare triple {2541#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {2549#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:12:12,687 INFO L273 TraceCheckUtils]: 1: Hoare triple {2549#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {2553#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2018-12-23 14:12:12,696 INFO L273 TraceCheckUtils]: 2: Hoare triple {2553#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2557#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2018-12-23 14:12:12,697 INFO L273 TraceCheckUtils]: 3: Hoare triple {2557#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {2542#false} is VALID [2018-12-23 14:12:12,697 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-23 14:12:12,697 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:12:12,725 INFO L273 TraceCheckUtils]: 3: Hoare triple {2545#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {2542#false} is VALID [2018-12-23 14:12:12,726 INFO L273 TraceCheckUtils]: 2: Hoare triple {2564#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2545#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:12:12,727 INFO L273 TraceCheckUtils]: 1: Hoare triple {2568#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {2564#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:12:12,729 INFO L273 TraceCheckUtils]: 0: Hoare triple {2541#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {2568#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:12:12,730 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-23 14:12:12,751 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:12:12,751 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2018-12-23 14:12:12,751 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:12:12,752 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:12:12,752 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:12:12,752 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:12:12,772 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-23 14:12:12,773 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:12:12,773 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:12:12,773 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=51, Unknown=0, NotChecked=0, Total=90 [2018-12-23 14:12:12,773 INFO L87 Difference]: Start difference. First operand 31 states and 101 transitions. Second operand 8 states. [2018-12-23 14:12:13,718 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:13,719 INFO L93 Difference]: Finished difference Result 59 states and 152 transitions. [2018-12-23 14:12:13,719 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-23 14:12:13,719 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:12:13,719 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:12:13,719 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:12:13,720 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2018-12-23 14:12:13,720 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:12:13,720 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2018-12-23 14:12:13,721 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 65 transitions. [2018-12-23 14:12:13,941 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-23 14:12:13,942 INFO L225 Difference]: With dead ends: 59 [2018-12-23 14:12:13,943 INFO L226 Difference]: Without dead ends: 58 [2018-12-23 14:12:13,943 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=47, Invalid=63, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:12:13,944 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2018-12-23 14:12:14,198 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 34. [2018-12-23 14:12:14,199 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:12:14,199 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand 34 states. [2018-12-23 14:12:14,199 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 34 states. [2018-12-23 14:12:14,199 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 34 states. [2018-12-23 14:12:14,201 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:14,202 INFO L93 Difference]: Finished difference Result 58 states and 150 transitions. [2018-12-23 14:12:14,202 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 150 transitions. [2018-12-23 14:12:14,202 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:12:14,202 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:12:14,202 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 58 states. [2018-12-23 14:12:14,202 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 58 states. [2018-12-23 14:12:14,204 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:14,204 INFO L93 Difference]: Finished difference Result 58 states and 150 transitions. [2018-12-23 14:12:14,204 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 150 transitions. [2018-12-23 14:12:14,205 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:12:14,205 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:12:14,205 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:12:14,205 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:12:14,205 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 34 states. [2018-12-23 14:12:14,206 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 119 transitions. [2018-12-23 14:12:14,206 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 119 transitions. Word has length 4 [2018-12-23 14:12:14,207 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:12:14,207 INFO L480 AbstractCegarLoop]: Abstraction has 34 states and 119 transitions. [2018-12-23 14:12:14,207 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:12:14,207 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 119 transitions. [2018-12-23 14:12:14,207 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-23 14:12:14,207 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:12:14,207 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-23 14:12:14,208 INFO L423 AbstractCegarLoop]: === Iteration 16 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:12:14,208 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:12:14,208 INFO L82 PathProgramCache]: Analyzing trace with hash 937744, now seen corresponding path program 1 times [2018-12-23 14:12:14,208 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:12:14,209 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:12:14,209 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:12:14,209 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:12:14,209 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:12:14,213 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:12:14,289 INFO L273 TraceCheckUtils]: 0: Hoare triple {2818#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {2820#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:12:14,290 INFO L273 TraceCheckUtils]: 1: Hoare triple {2820#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {2821#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:12:14,290 INFO L273 TraceCheckUtils]: 2: Hoare triple {2821#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {2821#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:12:14,291 INFO L273 TraceCheckUtils]: 3: Hoare triple {2821#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {2819#false} is VALID [2018-12-23 14:12:14,291 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-23 14:12:14,291 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:12:14,291 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:12:14,291 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-23 14:12:14,292 INFO L207 CegarAbsIntRunner]: [0], [14], [24], [25] [2018-12-23 14:12:14,294 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:12:14,294 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:12:14,310 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:12:14,310 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-23 14:12:14,310 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:12:14,310 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:12:14,311 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:12:14,311 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-23 14:12:14,323 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:12:14,323 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:12:14,331 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:12:14,333 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:12:14,334 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:12:14,374 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:12:14,386 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:12:14,398 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:14,399 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-23 14:12:14,415 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:14,417 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:14,418 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-23 14:12:14,437 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:14,441 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:14,442 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:14,443 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:12:14,451 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:12:14,473 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:14,487 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:14,500 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:14,513 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:14,540 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-23 14:12:14,541 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:28, output treesize:35 [2018-12-23 14:12:14,550 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:12:14,550 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_75|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_75| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:12:14,550 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:12:14,621 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:14,623 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:14,624 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:14,625 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:14,627 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:14,628 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:14,629 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:14,630 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 51 [2018-12-23 14:12:14,635 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:12:14,673 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-23 14:12:14,674 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2018-12-23 14:12:14,684 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:12:14,684 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_76|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_76| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_76| ULTIMATE.start_main_p4)) (= (store |v_#memory_int_76| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_76| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_76| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:12:14,684 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:12:14,740 INFO L273 TraceCheckUtils]: 0: Hoare triple {2818#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {2825#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:12:14,742 INFO L273 TraceCheckUtils]: 1: Hoare triple {2825#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {2829#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:12:14,744 INFO L273 TraceCheckUtils]: 2: Hoare triple {2829#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {2829#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:12:14,745 INFO L273 TraceCheckUtils]: 3: Hoare triple {2829#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {2819#false} is VALID [2018-12-23 14:12:14,745 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-23 14:12:14,745 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:12:14,771 INFO L273 TraceCheckUtils]: 3: Hoare triple {2836#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {2819#false} is VALID [2018-12-23 14:12:14,772 INFO L273 TraceCheckUtils]: 2: Hoare triple {2836#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {2836#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:12:14,773 INFO L273 TraceCheckUtils]: 1: Hoare triple {2843#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {2836#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:12:14,775 INFO L273 TraceCheckUtils]: 0: Hoare triple {2818#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {2843#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:12:14,776 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-23 14:12:14,797 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:12:14,797 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-23 14:12:14,797 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:12:14,798 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2018-12-23 14:12:14,798 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:12:14,798 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-23 14:12:14,811 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:12:14,811 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-23 14:12:14,811 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-23 14:12:14,811 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-23 14:12:14,812 INFO L87 Difference]: Start difference. First operand 34 states and 119 transitions. Second operand 6 states. [2018-12-23 14:12:16,469 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:16,469 INFO L93 Difference]: Finished difference Result 51 states and 145 transitions. [2018-12-23 14:12:16,469 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-12-23 14:12:16,469 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2018-12-23 14:12:16,470 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:12:16,470 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-23 14:12:16,470 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2018-12-23 14:12:16,471 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-23 14:12:16,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2018-12-23 14:12:16,471 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 46 transitions. [2018-12-23 14:12:16,532 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:12:16,533 INFO L225 Difference]: With dead ends: 51 [2018-12-23 14:12:16,533 INFO L226 Difference]: Without dead ends: 50 [2018-12-23 14:12:16,533 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-23 14:12:16,534 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2018-12-23 14:12:16,920 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 35. [2018-12-23 14:12:16,920 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:12:16,920 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand 35 states. [2018-12-23 14:12:16,920 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand 35 states. [2018-12-23 14:12:16,920 INFO L87 Difference]: Start difference. First operand 50 states. Second operand 35 states. [2018-12-23 14:12:16,922 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:16,922 INFO L93 Difference]: Finished difference Result 50 states and 143 transitions. [2018-12-23 14:12:16,922 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 143 transitions. [2018-12-23 14:12:16,922 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:12:16,922 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:12:16,922 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand 50 states. [2018-12-23 14:12:16,922 INFO L87 Difference]: Start difference. First operand 35 states. Second operand 50 states. [2018-12-23 14:12:16,924 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:16,924 INFO L93 Difference]: Finished difference Result 50 states and 143 transitions. [2018-12-23 14:12:16,924 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 143 transitions. [2018-12-23 14:12:16,924 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:12:16,924 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:12:16,925 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:12:16,925 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:12:16,925 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 35 states. [2018-12-23 14:12:16,926 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 125 transitions. [2018-12-23 14:12:16,926 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 125 transitions. Word has length 4 [2018-12-23 14:12:16,926 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:12:16,926 INFO L480 AbstractCegarLoop]: Abstraction has 35 states and 125 transitions. [2018-12-23 14:12:16,926 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-23 14:12:16,927 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 125 transitions. [2018-12-23 14:12:16,927 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-23 14:12:16,927 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:12:16,927 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-23 14:12:16,927 INFO L423 AbstractCegarLoop]: === Iteration 17 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:12:16,927 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:12:16,928 INFO L82 PathProgramCache]: Analyzing trace with hash 937308, now seen corresponding path program 1 times [2018-12-23 14:12:16,928 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:12:16,928 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:12:16,928 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:12:16,928 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:12:16,929 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:12:16,934 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:12:17,065 INFO L273 TraceCheckUtils]: 0: Hoare triple {3071#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {3073#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:12:17,066 INFO L273 TraceCheckUtils]: 1: Hoare triple {3073#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {3074#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:12:17,067 INFO L273 TraceCheckUtils]: 2: Hoare triple {3074#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3075#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:12:17,068 INFO L273 TraceCheckUtils]: 3: Hoare triple {3075#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {3072#false} is VALID [2018-12-23 14:12:17,068 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-23 14:12:17,068 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:12:17,069 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:12:17,069 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-23 14:12:17,069 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [23] [2018-12-23 14:12:17,071 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:12:17,071 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:12:17,091 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:12:17,091 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:12:17,091 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:12:17,091 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:12:17,092 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:12:17,092 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-23 14:12:17,101 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:12:17,101 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:12:17,109 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:12:17,113 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:12:17,114 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:12:17,160 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:12:17,177 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:17,178 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:12:17,207 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:17,209 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:17,209 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:12:17,230 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:17,262 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:17,268 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:17,269 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:12:17,295 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:17,296 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:17,297 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:17,298 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:17,299 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:12:17,313 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:12:17,346 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:17,365 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:17,380 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:17,394 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:17,420 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-23 14:12:17,421 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2018-12-23 14:12:17,431 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:12:17,431 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_78|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_78| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:12:17,431 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:12:17,540 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:17,541 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:17,542 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:17,543 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:17,544 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:17,545 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:17,546 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:17,547 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:17,549 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:17,550 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:17,551 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:17,552 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-23 14:12:17,587 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:12:17,651 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-23 14:12:17,652 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-23 14:12:19,667 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:12:19,668 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_79|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_79| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_79| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_79| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_79| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_79| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_79| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:12:19,668 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:12:19,766 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:19,767 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:19,767 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:19,768 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:19,770 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:19,771 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:19,772 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:19,773 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:19,774 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:19,776 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:19,777 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:19,778 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:19,779 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:19,780 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 86 [2018-12-23 14:12:19,787 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:12:20,377 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-23 14:12:20,377 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-23 14:12:21,272 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:12:21,272 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_80|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_80| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_80| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_80| ULTIMATE.start_main_p5)) (= 0 .cse0) (= (store |v_#memory_int_80| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 1 (select |v_#memory_int_80| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_80| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:12:21,272 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:12:21,350 INFO L273 TraceCheckUtils]: 0: Hoare triple {3071#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {3079#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:12:21,354 INFO L273 TraceCheckUtils]: 1: Hoare triple {3079#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {3083#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:12:21,358 INFO L273 TraceCheckUtils]: 2: Hoare triple {3083#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3087#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2018-12-23 14:12:21,359 INFO L273 TraceCheckUtils]: 3: Hoare triple {3087#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {3072#false} is VALID [2018-12-23 14:12:21,359 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-23 14:12:21,359 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:12:21,410 INFO L273 TraceCheckUtils]: 3: Hoare triple {3091#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {3072#false} is VALID [2018-12-23 14:12:21,411 INFO L273 TraceCheckUtils]: 2: Hoare triple {3095#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3091#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:12:21,413 INFO L273 TraceCheckUtils]: 1: Hoare triple {3099#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {3095#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:12:21,415 INFO L273 TraceCheckUtils]: 0: Hoare triple {3071#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {3099#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:12:21,416 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-23 14:12:21,436 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:12:21,436 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:12:21,436 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:12:21,437 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:12:21,437 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:12:21,437 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:12:21,450 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-23 14:12:21,450 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:12:21,450 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:12:21,450 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:12:21,451 INFO L87 Difference]: Start difference. First operand 35 states and 125 transitions. Second operand 8 states. [2018-12-23 14:12:22,737 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:22,738 INFO L93 Difference]: Finished difference Result 64 states and 172 transitions. [2018-12-23 14:12:22,738 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-23 14:12:22,738 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:12:22,738 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:12:22,738 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:12:22,739 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 60 transitions. [2018-12-23 14:12:22,739 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:12:22,739 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 60 transitions. [2018-12-23 14:12:22,740 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 60 transitions. [2018-12-23 14:12:22,978 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:12:22,980 INFO L225 Difference]: With dead ends: 64 [2018-12-23 14:12:22,980 INFO L226 Difference]: Without dead ends: 63 [2018-12-23 14:12:22,980 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-23 14:12:22,981 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2018-12-23 14:12:23,224 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 37. [2018-12-23 14:12:23,225 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:12:23,225 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand 37 states. [2018-12-23 14:12:23,225 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand 37 states. [2018-12-23 14:12:23,225 INFO L87 Difference]: Start difference. First operand 63 states. Second operand 37 states. [2018-12-23 14:12:23,228 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:23,228 INFO L93 Difference]: Finished difference Result 63 states and 170 transitions. [2018-12-23 14:12:23,228 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 170 transitions. [2018-12-23 14:12:23,229 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:12:23,229 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:12:23,229 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 63 states. [2018-12-23 14:12:23,229 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 63 states. [2018-12-23 14:12:23,231 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:23,231 INFO L93 Difference]: Finished difference Result 63 states and 170 transitions. [2018-12-23 14:12:23,231 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 170 transitions. [2018-12-23 14:12:23,231 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:12:23,232 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:12:23,232 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:12:23,232 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:12:23,232 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-12-23 14:12:23,233 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 137 transitions. [2018-12-23 14:12:23,233 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 137 transitions. Word has length 4 [2018-12-23 14:12:23,234 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:12:23,234 INFO L480 AbstractCegarLoop]: Abstraction has 37 states and 137 transitions. [2018-12-23 14:12:23,234 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:12:23,234 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 137 transitions. [2018-12-23 14:12:23,234 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:12:23,234 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:12:23,234 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:12:23,235 INFO L423 AbstractCegarLoop]: === Iteration 18 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:12:23,235 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:12:23,235 INFO L82 PathProgramCache]: Analyzing trace with hash 29185378, now seen corresponding path program 1 times [2018-12-23 14:12:23,235 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:12:23,236 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:12:23,236 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:12:23,236 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:12:23,236 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:12:23,243 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:12:23,822 WARN L181 SmtUtils]: Spent 267.00 ms on a formula simplification. DAG size of input: 28 DAG size of output: 17 [2018-12-23 14:12:23,866 INFO L273 TraceCheckUtils]: 0: Hoare triple {3375#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {3377#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:12:23,866 INFO L273 TraceCheckUtils]: 1: Hoare triple {3377#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {3378#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:12:23,867 INFO L273 TraceCheckUtils]: 2: Hoare triple {3378#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {3379#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:12:23,868 INFO L273 TraceCheckUtils]: 3: Hoare triple {3379#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {3379#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:12:23,869 INFO L273 TraceCheckUtils]: 4: Hoare triple {3379#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {3376#false} is VALID [2018-12-23 14:12:23,869 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-23 14:12:23,869 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:12:23,869 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:12:23,870 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:12:23,870 INFO L207 CegarAbsIntRunner]: [0], [18], [20], [24], [25] [2018-12-23 14:12:23,871 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:12:23,872 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:12:23,904 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:12:23,904 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:12:23,905 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:12:23,905 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:12:23,905 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:12:23,905 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-23 14:12:23,921 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:12:23,922 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:12:23,929 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:12:23,931 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:12:23,932 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:12:23,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, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:12:23,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, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:12:23,963 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:23,964 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-23 14:12:23,978 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:23,980 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:23,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, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-23 14:12:23,998 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:24,004 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:24,005 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:24,006 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:12:24,017 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:12:24,039 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:24,053 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:24,065 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:24,077 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:24,096 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-23 14:12:24,096 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:28, output treesize:35 [2018-12-23 14:12:24,104 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:12:24,104 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_83|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3]. (and (= (store (store (store (store (store |v_#memory_int_83| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:12:24,105 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:12:24,170 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:24,171 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:24,172 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:24,173 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:24,175 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:24,176 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:24,196 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:24,197 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 45 [2018-12-23 14:12:24,200 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:12:24,231 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-23 14:12:24,231 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2018-12-23 14:12:26,350 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:12:26,351 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_84|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_84| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_84| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_84| ULTIMATE.start_main_p3) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store |v_#memory_int_84| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_84| ULTIMATE.start_main_p5)))) [2018-12-23 14:12:26,351 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:12:26,506 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:26,507 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:26,508 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:26,510 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:26,511 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:26,512 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:26,513 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:26,515 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:26,516 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:26,517 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 59 [2018-12-23 14:12:26,521 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:12:26,555 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-23 14:12:26,556 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2018-12-23 14:12:26,577 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:12:26,577 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_85|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_85| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_85| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_85| ULTIMATE.start_main_p3) 0) (= .cse0 0) (= 0 (+ (select |v_#memory_int_85| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_85| ULTIMATE.start_main_p2) 0))) [2018-12-23 14:12:26,577 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:12:26,623 INFO L273 TraceCheckUtils]: 0: Hoare triple {3375#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {3383#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:12:26,626 INFO L273 TraceCheckUtils]: 1: Hoare triple {3383#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {3387#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2018-12-23 14:12:26,628 INFO L273 TraceCheckUtils]: 2: Hoare triple {3387#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {3391#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:12:26,629 INFO L273 TraceCheckUtils]: 3: Hoare triple {3391#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {3391#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:12:26,630 INFO L273 TraceCheckUtils]: 4: Hoare triple {3391#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {3376#false} is VALID [2018-12-23 14:12:26,631 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-23 14:12:26,631 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:12:26,676 INFO L273 TraceCheckUtils]: 4: Hoare triple {3398#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {3376#false} is VALID [2018-12-23 14:12:26,677 INFO L273 TraceCheckUtils]: 3: Hoare triple {3398#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {3398#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:12:26,678 INFO L273 TraceCheckUtils]: 2: Hoare triple {3405#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {3398#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:12:26,679 INFO L273 TraceCheckUtils]: 1: Hoare triple {3409#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {3405#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:12:26,682 INFO L273 TraceCheckUtils]: 0: Hoare triple {3375#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {3409#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:12:26,682 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-23 14:12:26,701 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:12:26,701 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:12:26,701 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:12:26,702 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-23 14:12:26,702 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:12:26,702 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:12:26,718 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-23 14:12:26,718 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:12:26,718 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:12:26,718 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:12:26,718 INFO L87 Difference]: Start difference. First operand 37 states and 137 transitions. Second operand 8 states. [2018-12-23 14:12:27,622 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:27,623 INFO L93 Difference]: Finished difference Result 57 states and 164 transitions. [2018-12-23 14:12:27,623 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-23 14:12:27,623 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-23 14:12:27,623 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:12:27,623 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:12:27,624 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2018-12-23 14:12:27,625 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:12:27,625 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2018-12-23 14:12:27,625 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 56 transitions. [2018-12-23 14:12:28,080 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-23 14:12:28,082 INFO L225 Difference]: With dead ends: 57 [2018-12-23 14:12:28,082 INFO L226 Difference]: Without dead ends: 56 [2018-12-23 14:12:28,082 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:12:28,083 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2018-12-23 14:12:28,408 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 38. [2018-12-23 14:12:28,408 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:12:28,408 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand 38 states. [2018-12-23 14:12:28,409 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand 38 states. [2018-12-23 14:12:28,409 INFO L87 Difference]: Start difference. First operand 56 states. Second operand 38 states. [2018-12-23 14:12:28,411 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:28,411 INFO L93 Difference]: Finished difference Result 56 states and 162 transitions. [2018-12-23 14:12:28,411 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 162 transitions. [2018-12-23 14:12:28,411 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:12:28,411 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:12:28,411 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 56 states. [2018-12-23 14:12:28,412 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 56 states. [2018-12-23 14:12:28,413 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:28,413 INFO L93 Difference]: Finished difference Result 56 states and 162 transitions. [2018-12-23 14:12:28,414 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 162 transitions. [2018-12-23 14:12:28,414 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:12:28,414 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:12:28,414 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:12:28,414 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:12:28,415 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 38 states. [2018-12-23 14:12:28,416 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 143 transitions. [2018-12-23 14:12:28,416 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 143 transitions. Word has length 5 [2018-12-23 14:12:28,416 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:12:28,416 INFO L480 AbstractCegarLoop]: Abstraction has 38 states and 143 transitions. [2018-12-23 14:12:28,416 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:12:28,416 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 143 transitions. [2018-12-23 14:12:28,417 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:12:28,417 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:12:28,417 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:12:28,417 INFO L423 AbstractCegarLoop]: === Iteration 19 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:12:28,417 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:12:28,417 INFO L82 PathProgramCache]: Analyzing trace with hash 29184942, now seen corresponding path program 1 times [2018-12-23 14:12:28,418 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:12:28,418 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:12:28,418 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:12:28,418 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:12:28,419 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:12:28,426 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:12:28,987 INFO L273 TraceCheckUtils]: 0: Hoare triple {3666#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {3668#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:12:28,989 INFO L273 TraceCheckUtils]: 1: Hoare triple {3668#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {3669#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:12:28,990 INFO L273 TraceCheckUtils]: 2: Hoare triple {3669#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {3670#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:12:28,991 INFO L273 TraceCheckUtils]: 3: Hoare triple {3670#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3671#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:12:28,991 INFO L273 TraceCheckUtils]: 4: Hoare triple {3671#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {3667#false} is VALID [2018-12-23 14:12:28,992 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:12:28,992 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:12:28,992 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:12:28,992 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:12:28,993 INFO L207 CegarAbsIntRunner]: [0], [10], [18], [20], [23] [2018-12-23 14:12:28,994 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:12:28,994 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:12:29,055 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:12:29,055 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-23 14:12:29,055 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:12:29,055 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:12:29,055 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:12:29,055 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-23 14:12:29,067 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:12:29,067 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:12:29,072 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:12:29,075 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:12:29,076 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:12:29,120 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:12:29,137 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:29,137 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:12:29,149 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:29,151 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:29,152 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:12:29,403 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:29,431 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:29,452 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:29,453 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:12:29,541 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:29,542 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:29,542 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:29,543 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:29,544 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:12:29,556 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:12:29,587 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:29,608 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:29,622 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:29,635 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:29,659 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:12:29,660 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2018-12-23 14:12:29,667 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:12:29,668 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_88|, ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_88| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:12:29,668 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:12:29,745 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:29,747 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:29,748 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:29,750 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:29,751 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:29,753 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:29,754 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:29,755 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:29,757 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:29,758 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:29,760 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:29,761 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-23 14:12:29,767 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:12:29,814 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-23 14:12:29,815 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-23 14:12:31,823 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:12:31,823 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_89|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_89| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_89| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_89| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_89| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= (select |v_#memory_int_89| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_89| ULTIMATE.start_main_p1) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:12:31,824 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:12:31,907 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:31,908 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:31,910 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:31,911 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:31,912 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:31,914 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:31,915 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:31,917 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:31,918 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:31,920 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:31,921 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:31,922 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:31,923 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:31,925 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 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-23 14:12:31,933 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:12:31,984 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-23 14:12:31,985 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2018-12-23 14:12:32,009 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:12:32,010 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_90|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_90| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_90| ULTIMATE.start_main_p5 (+ .cse0 1))) (= 0 (+ (select |v_#memory_int_90| ULTIMATE.start_main_p4) 1)) (= 0 .cse0) (= (select |v_#memory_int_90| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_90| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_90| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:12:32,010 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:12:32,088 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:32,090 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:32,091 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:32,092 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:32,093 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:32,095 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:32,096 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:32,097 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:32,098 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:32,100 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:32,101 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:32,102 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:32,103 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:12:32,104 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:32,105 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-23 14:12:32,113 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:12:32,171 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-23 14:12:32,171 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2018-12-23 14:12:32,221 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:12:32,222 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_91|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_91| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_91| ULTIMATE.start_main_p5) 1) (= (select |v_#memory_int_91| ULTIMATE.start_main_p3) 0) (= (+ (select |v_#memory_int_91| ULTIMATE.start_main_p4) 1) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (store |v_#memory_int_91| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_91| ULTIMATE.start_main_p1) 0))) [2018-12-23 14:12:32,222 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:12:32,304 INFO L273 TraceCheckUtils]: 0: Hoare triple {3666#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {3675#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:12:32,307 INFO L273 TraceCheckUtils]: 1: Hoare triple {3675#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {3679#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2018-12-23 14:12:32,310 INFO L273 TraceCheckUtils]: 2: Hoare triple {3679#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {3683#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:12:32,315 INFO L273 TraceCheckUtils]: 3: Hoare triple {3683#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3687#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2018-12-23 14:12:32,319 INFO L273 TraceCheckUtils]: 4: Hoare triple {3687#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {3667#false} is VALID [2018-12-23 14:12:32,320 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-23 14:12:32,320 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:12:32,397 INFO L273 TraceCheckUtils]: 4: Hoare triple {3691#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {3667#false} is VALID [2018-12-23 14:12:32,398 INFO L273 TraceCheckUtils]: 3: Hoare triple {3695#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3691#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:12:32,400 INFO L273 TraceCheckUtils]: 2: Hoare triple {3699#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {3695#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:12:32,402 INFO L273 TraceCheckUtils]: 1: Hoare triple {3703#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {3699#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:12:32,405 INFO L273 TraceCheckUtils]: 0: Hoare triple {3666#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {3703#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:12:32,405 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-23 14:12:32,425 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:12:32,426 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-23 14:12:32,426 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:12:32,426 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:12:32,426 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:12:32,426 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-23 14:12:32,448 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-23 14:12:32,449 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-23 14:12:32,449 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-23 14:12:32,449 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=116, Unknown=0, NotChecked=0, Total=182 [2018-12-23 14:12:32,449 INFO L87 Difference]: Start difference. First operand 38 states and 143 transitions. Second operand 10 states. [2018-12-23 14:12:35,012 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:35,012 INFO L93 Difference]: Finished difference Result 68 states and 184 transitions. [2018-12-23 14:12:35,012 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-23 14:12:35,012 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:12:35,012 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:12:35,013 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:12:35,013 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 70 transitions. [2018-12-23 14:12:35,013 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:12:35,013 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 70 transitions. [2018-12-23 14:12:35,014 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 70 transitions. [2018-12-23 14:12:35,196 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-23 14:12:35,197 INFO L225 Difference]: With dead ends: 68 [2018-12-23 14:12:35,198 INFO L226 Difference]: Without dead ends: 67 [2018-12-23 14:12:35,198 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=99, Invalid=173, Unknown=0, NotChecked=0, Total=272 [2018-12-23 14:12:35,199 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2018-12-23 14:12:35,665 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 37. [2018-12-23 14:12:35,665 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:12:35,665 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand 37 states. [2018-12-23 14:12:35,666 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand 37 states. [2018-12-23 14:12:35,666 INFO L87 Difference]: Start difference. First operand 67 states. Second operand 37 states. [2018-12-23 14:12:35,667 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:35,668 INFO L93 Difference]: Finished difference Result 67 states and 182 transitions. [2018-12-23 14:12:35,668 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 182 transitions. [2018-12-23 14:12:35,668 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:12:35,668 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:12:35,669 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 67 states. [2018-12-23 14:12:35,669 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 67 states. [2018-12-23 14:12:35,671 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:35,671 INFO L93 Difference]: Finished difference Result 67 states and 182 transitions. [2018-12-23 14:12:35,671 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 182 transitions. [2018-12-23 14:12:35,671 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:12:35,672 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:12:35,672 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:12:35,672 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:12:35,672 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-12-23 14:12:35,673 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 137 transitions. [2018-12-23 14:12:35,674 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 137 transitions. Word has length 5 [2018-12-23 14:12:35,674 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:12:35,674 INFO L480 AbstractCegarLoop]: Abstraction has 37 states and 137 transitions. [2018-12-23 14:12:35,674 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-23 14:12:35,674 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 137 transitions. [2018-12-23 14:12:35,674 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:12:35,675 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:12:35,675 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:12:35,675 INFO L423 AbstractCegarLoop]: === Iteration 20 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:12:35,675 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:12:35,675 INFO L82 PathProgramCache]: Analyzing trace with hash 29171924, now seen corresponding path program 1 times [2018-12-23 14:12:35,676 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:12:35,678 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:12:35,679 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:12:35,679 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:12:35,679 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:12:35,691 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:12:35,881 INFO L273 TraceCheckUtils]: 0: Hoare triple {3995#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {3997#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:12:35,882 INFO L273 TraceCheckUtils]: 1: Hoare triple {3997#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {3998#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:12:35,883 INFO L273 TraceCheckUtils]: 2: Hoare triple {3998#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {3999#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:12:35,884 INFO L273 TraceCheckUtils]: 3: Hoare triple {3999#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {3999#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:12:35,884 INFO L273 TraceCheckUtils]: 4: Hoare triple {3999#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {3996#false} is VALID [2018-12-23 14:12:35,885 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-23 14:12:35,885 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:12:35,885 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:12:35,885 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:12:35,885 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [24], [25] [2018-12-23 14:12:35,887 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:12:35,887 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:12:35,898 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:12:35,898 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:12:35,899 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:12:35,899 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:12:35,899 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:12:35,899 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-23 14:12:35,930 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:12:35,930 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:12:35,936 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:12:35,939 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:12:35,940 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:12:35,969 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:12:35,975 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:35,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, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:12:35,988 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:35,990 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:35,991 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:12:36,004 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:36,006 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:36,007 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:36,008 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:12:36,025 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:36,027 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:36,028 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:36,030 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:36,031 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:12:36,033 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:12:36,062 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:36,089 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:36,108 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:36,122 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:36,154 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:12:36,154 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2018-12-23 14:12:36,161 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:12:36,161 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_95|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_95| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:12:36,161 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:12:36,275 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:36,278 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:36,280 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:36,282 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:36,284 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:36,287 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:36,289 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:36,292 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:36,294 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:36,297 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:36,299 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:36,300 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-23 14:12:36,302 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:12:36,360 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-23 14:12:36,360 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-23 14:12:38,468 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:12:38,469 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_96|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_96| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 0 (select |v_#memory_int_96| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_96| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_96| ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_96| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_96| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:12:38,469 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:12:38,566 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:38,568 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:38,569 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:38,570 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:38,571 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:38,573 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:38,574 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:38,575 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:38,576 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:38,577 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:38,578 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:38,580 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:38,581 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:38,582 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-23 14:12:38,586 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:12:38,639 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-23 14:12:38,639 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2018-12-23 14:12:38,663 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:12:38,663 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_97|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_97| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_97| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (+ (select |v_#memory_int_97| ULTIMATE.start_main_p4) 1) 0) (= (select |v_#memory_int_97| ULTIMATE.start_main_p3) 0) (= 0 (select |v_#memory_int_97| ULTIMATE.start_main_p5)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_97| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:12:38,664 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:12:38,709 INFO L273 TraceCheckUtils]: 0: Hoare triple {3995#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {4003#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:12:38,713 INFO L273 TraceCheckUtils]: 1: Hoare triple {4003#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4007#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:12:38,721 INFO L273 TraceCheckUtils]: 2: Hoare triple {4007#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {4011#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:12:38,722 INFO L273 TraceCheckUtils]: 3: Hoare triple {4011#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {4011#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:12:38,722 INFO L273 TraceCheckUtils]: 4: Hoare triple {4011#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {3996#false} is VALID [2018-12-23 14:12:38,723 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-23 14:12:38,723 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:12:38,761 INFO L273 TraceCheckUtils]: 4: Hoare triple {4018#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {3996#false} is VALID [2018-12-23 14:12:38,762 INFO L273 TraceCheckUtils]: 3: Hoare triple {4018#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {4018#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:12:38,763 INFO L273 TraceCheckUtils]: 2: Hoare triple {4025#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {4018#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:12:38,764 INFO L273 TraceCheckUtils]: 1: Hoare triple {4029#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4025#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:12:38,767 INFO L273 TraceCheckUtils]: 0: Hoare triple {3995#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {4029#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:12:38,767 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-23 14:12:38,787 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:12:38,787 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:12:38,788 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:12:38,788 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-23 14:12:38,788 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:12:38,788 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:12:38,804 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-23 14:12:38,805 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:12:38,805 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:12:38,805 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:12:38,805 INFO L87 Difference]: Start difference. First operand 37 states and 137 transitions. Second operand 8 states. [2018-12-23 14:12:40,001 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:40,001 INFO L93 Difference]: Finished difference Result 56 states and 158 transitions. [2018-12-23 14:12:40,002 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-23 14:12:40,002 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-23 14:12:40,002 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:12:40,002 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:12:40,003 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2018-12-23 14:12:40,003 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:12:40,003 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2018-12-23 14:12:40,003 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 56 transitions. [2018-12-23 14:12:40,107 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-23 14:12:40,109 INFO L225 Difference]: With dead ends: 56 [2018-12-23 14:12:40,109 INFO L226 Difference]: Without dead ends: 55 [2018-12-23 14:12:40,109 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 3 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-23 14:12:40,110 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2018-12-23 14:12:40,380 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 37. [2018-12-23 14:12:40,380 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:12:40,380 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 37 states. [2018-12-23 14:12:40,381 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 37 states. [2018-12-23 14:12:40,381 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 37 states. [2018-12-23 14:12:40,382 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:40,382 INFO L93 Difference]: Finished difference Result 55 states and 156 transitions. [2018-12-23 14:12:40,383 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 156 transitions. [2018-12-23 14:12:40,383 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:12:40,383 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:12:40,383 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 55 states. [2018-12-23 14:12:40,383 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 55 states. [2018-12-23 14:12:40,384 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:40,384 INFO L93 Difference]: Finished difference Result 55 states and 156 transitions. [2018-12-23 14:12:40,384 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 156 transitions. [2018-12-23 14:12:40,385 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:12:40,385 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:12:40,385 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:12:40,385 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:12:40,385 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-12-23 14:12:40,386 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 137 transitions. [2018-12-23 14:12:40,386 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 137 transitions. Word has length 5 [2018-12-23 14:12:40,386 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:12:40,386 INFO L480 AbstractCegarLoop]: Abstraction has 37 states and 137 transitions. [2018-12-23 14:12:40,386 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:12:40,386 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 137 transitions. [2018-12-23 14:12:40,386 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:12:40,387 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:12:40,387 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:12:40,387 INFO L423 AbstractCegarLoop]: === Iteration 21 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:12:40,387 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:12:40,387 INFO L82 PathProgramCache]: Analyzing trace with hash 29189286, now seen corresponding path program 1 times [2018-12-23 14:12:40,387 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:12:40,388 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:12:40,388 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:12:40,388 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:12:40,388 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:12:40,394 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:12:40,483 INFO L273 TraceCheckUtils]: 0: Hoare triple {4280#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {4282#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:12:40,484 INFO L273 TraceCheckUtils]: 1: Hoare triple {4282#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4283#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-23 14:12:40,484 INFO L273 TraceCheckUtils]: 2: Hoare triple {4283#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p1] >= 0; {4283#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-23 14:12:40,485 INFO L273 TraceCheckUtils]: 3: Hoare triple {4283#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p2] <= 0; {4283#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-23 14:12:40,486 INFO L273 TraceCheckUtils]: 4: Hoare triple {4283#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {4281#false} is VALID [2018-12-23 14:12:40,486 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-23 14:12:40,486 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:12:40,487 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:12:40,487 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:12:40,487 INFO L207 CegarAbsIntRunner]: [0], [18], [24], [26], [27] [2018-12-23 14:12:40,488 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:12:40,488 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:12:40,505 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:12:40,505 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-23 14:12:40,505 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:12:40,506 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:12:40,506 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:12:40,506 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 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-23 14:12:40,517 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:12:40,517 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:12:40,522 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:12:40,525 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:12:40,525 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:12:40,551 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:12:40,557 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:12:40,567 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 25 [2018-12-23 14:12:40,581 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:40,582 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 31 [2018-12-23 14:12:40,596 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:40,603 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:40,604 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 38 [2018-12-23 14:12:40,608 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:12:40,624 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:40,636 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:40,648 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:40,660 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:40,676 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-23 14:12:40,676 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:25, output treesize:32 [2018-12-23 14:12:40,681 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:12:40,681 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_100|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_100| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2018-12-23 14:12:40,681 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:12:40,741 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:40,742 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:40,743 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:40,745 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:40,746 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 28 [2018-12-23 14:12:40,749 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:12:40,767 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-23 14:12:40,768 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2018-12-23 14:12:42,727 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:12:42,727 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_101|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_101| ULTIMATE.start_main_p4))) (and (= (store |v_#memory_int_101| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_101| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_101| ULTIMATE.start_main_p3)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) [2018-12-23 14:12:42,727 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2018-12-23 14:12:42,848 INFO L273 TraceCheckUtils]: 0: Hoare triple {4280#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {4287#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:12:42,850 INFO L273 TraceCheckUtils]: 1: Hoare triple {4287#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4291#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-23 14:12:42,851 INFO L273 TraceCheckUtils]: 2: Hoare triple {4291#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {4291#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-23 14:12:42,852 INFO L273 TraceCheckUtils]: 3: Hoare triple {4291#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {4291#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-23 14:12:42,852 INFO L273 TraceCheckUtils]: 4: Hoare triple {4291#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {4281#false} is VALID [2018-12-23 14:12:42,853 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-23 14:12:42,853 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:12:42,879 INFO L273 TraceCheckUtils]: 4: Hoare triple {4301#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {4281#false} is VALID [2018-12-23 14:12:42,880 INFO L273 TraceCheckUtils]: 3: Hoare triple {4301#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {4301#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:12:42,880 INFO L273 TraceCheckUtils]: 2: Hoare triple {4301#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {4301#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:12:42,882 INFO L273 TraceCheckUtils]: 1: Hoare triple {4311#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4301#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:12:42,884 INFO L273 TraceCheckUtils]: 0: Hoare triple {4280#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {4311#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:12:42,884 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-23 14:12:42,905 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:12:42,905 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-23 14:12:42,905 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:12:42,905 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 5 [2018-12-23 14:12:42,906 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:12:42,906 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-23 14:12:42,920 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-23 14:12:42,921 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-23 14:12:42,921 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-23 14:12:42,921 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-23 14:12:42,921 INFO L87 Difference]: Start difference. First operand 37 states and 137 transitions. Second operand 6 states. [2018-12-23 14:12:43,651 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:43,651 INFO L93 Difference]: Finished difference Result 45 states and 143 transitions. [2018-12-23 14:12:43,651 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-12-23 14:12:43,652 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 5 [2018-12-23 14:12:43,652 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:12:43,652 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-23 14:12:43,652 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2018-12-23 14:12:43,653 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-23 14:12:43,653 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2018-12-23 14:12:43,653 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 42 transitions. [2018-12-23 14:12:43,702 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:12:43,703 INFO L225 Difference]: With dead ends: 45 [2018-12-23 14:12:43,704 INFO L226 Difference]: Without dead ends: 44 [2018-12-23 14:12:43,704 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2018-12-23 14:12:43,704 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2018-12-23 14:12:44,050 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 39. [2018-12-23 14:12:44,050 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:12:44,051 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand 39 states. [2018-12-23 14:12:44,051 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 39 states. [2018-12-23 14:12:44,051 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 39 states. [2018-12-23 14:12:44,052 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:44,053 INFO L93 Difference]: Finished difference Result 44 states and 141 transitions. [2018-12-23 14:12:44,053 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 141 transitions. [2018-12-23 14:12:44,053 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:12:44,053 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:12:44,053 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 44 states. [2018-12-23 14:12:44,054 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 44 states. [2018-12-23 14:12:44,054 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:44,055 INFO L93 Difference]: Finished difference Result 44 states and 141 transitions. [2018-12-23 14:12:44,055 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 141 transitions. [2018-12-23 14:12:44,055 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:12:44,055 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:12:44,055 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:12:44,055 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:12:44,055 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 39 states. [2018-12-23 14:12:44,056 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 138 transitions. [2018-12-23 14:12:44,056 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 138 transitions. Word has length 5 [2018-12-23 14:12:44,056 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:12:44,056 INFO L480 AbstractCegarLoop]: Abstraction has 39 states and 138 transitions. [2018-12-23 14:12:44,056 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-23 14:12:44,056 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 138 transitions. [2018-12-23 14:12:44,057 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:12:44,057 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:12:44,057 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:12:44,057 INFO L423 AbstractCegarLoop]: === Iteration 22 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:12:44,057 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:12:44,057 INFO L82 PathProgramCache]: Analyzing trace with hash 29175208, now seen corresponding path program 1 times [2018-12-23 14:12:44,057 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:12:44,058 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:12:44,058 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:12:44,058 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:12:44,058 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:12:44,063 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:12:44,424 INFO L273 TraceCheckUtils]: 0: Hoare triple {4528#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {4530#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:12:44,426 INFO L273 TraceCheckUtils]: 1: Hoare triple {4530#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4531#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:12:44,427 INFO L273 TraceCheckUtils]: 2: Hoare triple {4531#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {4532#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:12:44,427 INFO L273 TraceCheckUtils]: 3: Hoare triple {4532#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {4533#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:12:44,429 INFO L273 TraceCheckUtils]: 4: Hoare triple {4533#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {4529#false} is VALID [2018-12-23 14:12:44,429 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-23 14:12:44,429 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:12:44,429 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:12:44,429 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:12:44,430 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [18], [23] [2018-12-23 14:12:44,430 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:12:44,430 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:12:44,443 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:12:44,443 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-23 14:12:44,444 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:12:44,444 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:12:44,444 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:12:44,444 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 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-23 14:12:44,454 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:12:44,454 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:12:44,458 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:12:44,462 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:12:44,463 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:12:44,493 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:12:44,503 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:44,504 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:12:44,531 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:44,532 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:44,533 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:12:44,551 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:44,552 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:44,553 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:44,553 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:12:44,576 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:44,578 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:44,579 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:44,580 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:44,581 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:12:44,587 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:12:44,619 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:44,636 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:44,649 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:44,666 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:44,688 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-23 14:12:44,688 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2018-12-23 14:12:44,697 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:12:44,698 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_103|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store (store (store (store (store |v_#memory_int_103| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|)) [2018-12-23 14:12:44,698 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:12:44,801 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:44,802 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:44,803 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:44,804 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:44,806 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:44,807 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:44,808 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:44,809 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:44,811 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:44,812 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:44,819 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:44,820 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-23 14:12:44,825 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:12:44,873 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:12:44,873 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-23 14:12:46,883 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:12:46,884 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_104|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_104| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_104| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_104| ULTIMATE.start_main_p3)) (= 0 .cse0) (= 0 (select |v_#memory_int_104| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_104| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_104| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:12:46,884 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:12:46,971 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:46,972 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:46,972 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:46,974 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:46,975 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:46,976 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:46,978 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:46,979 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:46,981 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:46,982 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:46,983 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:46,984 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:12:46,985 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-23 14:12:47,005 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:12:47,200 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-23 14:12:47,200 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2018-12-23 14:12:49,337 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:12:49,337 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_105|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_105| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_105| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_105| ULTIMATE.start_main_p3)) (= (+ (select |v_#memory_int_105| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |v_#memory_int_105| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_105| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= .cse0 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:12:49,337 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:12:49,471 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:49,473 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:49,474 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:49,476 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:49,477 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:49,478 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:49,479 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:49,481 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:49,482 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:49,483 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:49,485 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:49,486 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:49,487 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:49,488 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-23 14:12:49,495 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:12:49,556 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-23 14:12:49,557 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:52, output treesize:42 [2018-12-23 14:12:49,576 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:12:49,576 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_106|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_106| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_106| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_106| ULTIMATE.start_main_p5)) (= (+ (select |v_#memory_int_106| ULTIMATE.start_main_p2) 1) 0) (= 0 (select |v_#memory_int_106| ULTIMATE.start_main_p3)) (= 0 .cse0) (= (+ (select |v_#memory_int_106| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:12:49,577 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-23 14:12:49,617 INFO L273 TraceCheckUtils]: 0: Hoare triple {4528#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {4537#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:12:49,621 INFO L273 TraceCheckUtils]: 1: Hoare triple {4537#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4541#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:12:49,629 INFO L273 TraceCheckUtils]: 2: Hoare triple {4541#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {4545#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2018-12-23 14:12:49,637 INFO L273 TraceCheckUtils]: 3: Hoare triple {4545#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {4549#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2018-12-23 14:12:49,638 INFO L273 TraceCheckUtils]: 4: Hoare triple {4549#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {4529#false} is VALID [2018-12-23 14:12:49,639 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-23 14:12:49,639 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:12:49,700 INFO L273 TraceCheckUtils]: 4: Hoare triple {4533#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {4529#false} is VALID [2018-12-23 14:12:49,701 INFO L273 TraceCheckUtils]: 3: Hoare triple {4556#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {4533#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:12:49,702 INFO L273 TraceCheckUtils]: 2: Hoare triple {4560#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {4556#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:12:49,703 INFO L273 TraceCheckUtils]: 1: Hoare triple {4564#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4560#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:12:49,705 INFO L273 TraceCheckUtils]: 0: Hoare triple {4528#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {4564#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:12:49,705 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-23 14:12:49,726 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:12:49,726 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2018-12-23 14:12:49,726 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:12:49,726 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:12:49,726 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:12:49,727 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-23 14:12:49,756 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-23 14:12:49,756 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-23 14:12:49,756 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-23 14:12:49,756 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=93, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:12:49,756 INFO L87 Difference]: Start difference. First operand 39 states and 138 transitions. Second operand 10 states. [2018-12-23 14:12:51,955 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:51,955 INFO L93 Difference]: Finished difference Result 71 states and 207 transitions. [2018-12-23 14:12:51,955 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-23 14:12:51,956 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:12:51,956 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:12:51,956 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:12:51,957 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 74 transitions. [2018-12-23 14:12:51,957 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:12:51,958 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 74 transitions. [2018-12-23 14:12:51,958 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 74 transitions. [2018-12-23 14:12:52,218 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:12:52,219 INFO L225 Difference]: With dead ends: 71 [2018-12-23 14:12:52,219 INFO L226 Difference]: Without dead ends: 70 [2018-12-23 14:12:52,220 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 50 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2018-12-23 14:12:52,220 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2018-12-23 14:12:52,566 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 40. [2018-12-23 14:12:52,567 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:12:52,567 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand 40 states. [2018-12-23 14:12:52,567 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand 40 states. [2018-12-23 14:12:52,567 INFO L87 Difference]: Start difference. First operand 70 states. Second operand 40 states. [2018-12-23 14:12:52,569 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:52,569 INFO L93 Difference]: Finished difference Result 70 states and 205 transitions. [2018-12-23 14:12:52,569 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 205 transitions. [2018-12-23 14:12:52,570 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:12:52,570 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:12:52,570 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 70 states. [2018-12-23 14:12:52,570 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 70 states. [2018-12-23 14:12:52,571 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:52,571 INFO L93 Difference]: Finished difference Result 70 states and 205 transitions. [2018-12-23 14:12:52,571 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 205 transitions. [2018-12-23 14:12:52,571 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:12:52,572 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:12:52,572 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:12:52,572 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:12:52,572 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 40 states. [2018-12-23 14:12:52,573 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 144 transitions. [2018-12-23 14:12:52,573 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 144 transitions. Word has length 5 [2018-12-23 14:12:52,573 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:12:52,573 INFO L480 AbstractCegarLoop]: Abstraction has 40 states and 144 transitions. [2018-12-23 14:12:52,573 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-23 14:12:52,573 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 144 transitions. [2018-12-23 14:12:52,573 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:12:52,573 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:12:52,574 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:12:52,574 INFO L423 AbstractCegarLoop]: === Iteration 23 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:12:52,574 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:12:52,574 INFO L82 PathProgramCache]: Analyzing trace with hash 29179612, now seen corresponding path program 1 times [2018-12-23 14:12:52,574 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:12:52,575 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:12:52,575 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:12:52,575 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:12:52,575 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:12:52,580 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:12:52,871 INFO L273 TraceCheckUtils]: 0: Hoare triple {4871#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {4873#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:12:52,872 INFO L273 TraceCheckUtils]: 1: Hoare triple {4873#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4874#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:12:52,873 INFO L273 TraceCheckUtils]: 2: Hoare triple {4874#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4875#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:12:52,874 INFO L273 TraceCheckUtils]: 3: Hoare triple {4875#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {4875#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:12:52,874 INFO L273 TraceCheckUtils]: 4: Hoare triple {4875#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {4872#false} is VALID [2018-12-23 14:12:52,875 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-23 14:12:52,875 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:12:52,875 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:12:52,875 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:12:52,876 INFO L207 CegarAbsIntRunner]: [0], [14], [18], [24], [25] [2018-12-23 14:12:52,877 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:12:52,877 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:12:52,895 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:12:52,896 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:12:52,896 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:12:52,896 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:12:52,897 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:12:52,897 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-23 14:12:52,906 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:12:52,906 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:12:52,911 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:12:52,919 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:12:52,919 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:12:52,936 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:12:52,942 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:12:52,951 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:52,952 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-23 14:12:52,966 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:52,968 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:52,969 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-23 14:12:52,984 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:52,988 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:52,990 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:52,991 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:12:52,994 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:12:53,015 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:53,028 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:53,038 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:53,049 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:53,068 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-23 14:12:53,069 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:28, output treesize:35 [2018-12-23 14:12:53,076 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:12:53,077 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_110|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_110| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:12:53,077 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:12:53,146 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:53,148 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:53,149 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:53,150 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:53,151 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:53,153 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:53,154 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:53,155 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 45 [2018-12-23 14:12:53,158 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:12:53,188 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-23 14:12:53,188 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2018-12-23 14:12:53,196 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:12:53,196 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_111|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_111| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_111| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_111| ULTIMATE.start_main_p3) 0) (= .cse0 0) (= |#memory_int| (store |v_#memory_int_111| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_111| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:12:53,196 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:12:53,294 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:53,295 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:53,297 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:53,298 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:53,299 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:53,300 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:53,301 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:53,302 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:53,303 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:53,304 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 67 [2018-12-23 14:12:53,307 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:12:53,341 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:12:53,341 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2018-12-23 14:12:55,351 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:12:55,352 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_112|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_112| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_112| ULTIMATE.start_main_p2) 0) (= 0 (+ (select |v_#memory_int_112| ULTIMATE.start_main_p4) 1)) (= (select |v_#memory_int_112| ULTIMATE.start_main_p5) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store |v_#memory_int_112| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:12:55,352 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:12:55,399 INFO L273 TraceCheckUtils]: 0: Hoare triple {4871#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {4879#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:12:55,402 INFO L273 TraceCheckUtils]: 1: Hoare triple {4879#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4883#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:12:55,404 INFO L273 TraceCheckUtils]: 2: Hoare triple {4883#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4887#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:12:55,405 INFO L273 TraceCheckUtils]: 3: Hoare triple {4887#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {4887#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:12:55,406 INFO L273 TraceCheckUtils]: 4: Hoare triple {4887#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {4872#false} is VALID [2018-12-23 14:12:55,406 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-23 14:12:55,406 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:12:55,460 INFO L273 TraceCheckUtils]: 4: Hoare triple {4894#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {4872#false} is VALID [2018-12-23 14:12:55,462 INFO L273 TraceCheckUtils]: 3: Hoare triple {4894#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {4894#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:12:55,465 INFO L273 TraceCheckUtils]: 2: Hoare triple {4901#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4894#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:12:55,467 INFO L273 TraceCheckUtils]: 1: Hoare triple {4905#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4901#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:12:55,469 INFO L273 TraceCheckUtils]: 0: Hoare triple {4871#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {4905#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:12:55,469 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-23 14:12:55,489 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:12:55,489 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:12:55,489 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:12:55,490 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-23 14:12:55,490 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:12:55,490 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:12:55,506 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-23 14:12:55,506 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:12:55,506 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:12:55,507 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:12:55,507 INFO L87 Difference]: Start difference. First operand 40 states and 144 transitions. Second operand 8 states. [2018-12-23 14:12:57,603 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:57,604 INFO L93 Difference]: Finished difference Result 59 states and 171 transitions. [2018-12-23 14:12:57,604 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-23 14:12:57,604 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-23 14:12:57,604 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:12:57,604 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:12:57,605 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 55 transitions. [2018-12-23 14:12:57,605 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:12:57,605 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 55 transitions. [2018-12-23 14:12:57,605 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 55 transitions. [2018-12-23 14:12:57,684 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-23 14:12:57,685 INFO L225 Difference]: With dead ends: 59 [2018-12-23 14:12:57,685 INFO L226 Difference]: Without dead ends: 58 [2018-12-23 14:12:57,686 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:12:57,686 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2018-12-23 14:12:58,066 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 41. [2018-12-23 14:12:58,067 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:12:58,067 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand 41 states. [2018-12-23 14:12:58,067 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 41 states. [2018-12-23 14:12:58,067 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 41 states. [2018-12-23 14:12:58,069 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:58,069 INFO L93 Difference]: Finished difference Result 58 states and 169 transitions. [2018-12-23 14:12:58,069 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 169 transitions. [2018-12-23 14:12:58,069 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:12:58,070 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:12:58,070 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 58 states. [2018-12-23 14:12:58,070 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 58 states. [2018-12-23 14:12:58,071 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:12:58,071 INFO L93 Difference]: Finished difference Result 58 states and 169 transitions. [2018-12-23 14:12:58,072 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 169 transitions. [2018-12-23 14:12:58,072 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:12:58,072 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:12:58,072 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:12:58,072 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:12:58,072 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2018-12-23 14:12:58,073 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 150 transitions. [2018-12-23 14:12:58,073 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 150 transitions. Word has length 5 [2018-12-23 14:12:58,073 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:12:58,073 INFO L480 AbstractCegarLoop]: Abstraction has 41 states and 150 transitions. [2018-12-23 14:12:58,073 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:12:58,073 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 150 transitions. [2018-12-23 14:12:58,074 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:12:58,074 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:12:58,074 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:12:58,074 INFO L423 AbstractCegarLoop]: === Iteration 24 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:12:58,074 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:12:58,075 INFO L82 PathProgramCache]: Analyzing trace with hash 29179176, now seen corresponding path program 1 times [2018-12-23 14:12:58,075 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:12:58,075 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:12:58,075 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:12:58,075 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:12:58,076 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:12:58,081 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:12:58,658 INFO L273 TraceCheckUtils]: 0: Hoare triple {5173#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {5175#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:12:58,659 INFO L273 TraceCheckUtils]: 1: Hoare triple {5175#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5176#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:12:58,660 INFO L273 TraceCheckUtils]: 2: Hoare triple {5176#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {5177#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:12:58,661 INFO L273 TraceCheckUtils]: 3: Hoare triple {5177#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {5178#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:12:58,662 INFO L273 TraceCheckUtils]: 4: Hoare triple {5178#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {5174#false} is VALID [2018-12-23 14:12:58,663 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-23 14:12:58,663 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:12:58,663 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:12:58,663 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:12:58,664 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [18], [23] [2018-12-23 14:12:58,665 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:12:58,665 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:12:58,681 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:12:58,681 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-23 14:12:58,681 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:12:58,681 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:12:58,681 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:12:58,681 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-23 14:12:58,691 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:12:58,691 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:12:58,697 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:12:58,701 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:12:58,702 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:12:58,723 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:12:58,731 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:58,732 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:12:58,744 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:58,745 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:58,746 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:12:58,764 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:58,766 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:58,767 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:58,768 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:12:58,792 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:58,793 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:58,795 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:58,796 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:58,797 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:12:58,803 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:12:58,836 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:58,854 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:58,868 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:58,881 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:12:58,901 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:12:58,902 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2018-12-23 14:12:58,907 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:12:58,908 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_115|, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_115| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:12:58,908 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:12:58,981 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:58,983 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:58,984 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:58,985 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:58,987 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:58,988 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:58,989 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:58,991 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:58,992 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:58,993 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:58,994 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:58,996 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2018-12-23 14:12:58,999 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:12:59,065 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-23 14:12:59,066 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-23 14:12:59,882 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:12:59,882 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_116|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_116| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 0 (select |v_#memory_int_116| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_116| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_116| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_116| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_116| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))))) [2018-12-23 14:12:59,882 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:12:59,974 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:59,975 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:59,977 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:59,978 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:59,979 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:59,980 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:59,982 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:59,983 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:59,984 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:59,985 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:59,986 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:59,988 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:59,989 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:12:59,990 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 88 [2018-12-23 14:12:59,995 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:13:00,051 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-23 14:13:00,051 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2018-12-23 14:13:00,072 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:13:00,072 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_117|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_117| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 .cse0) (= (store |v_#memory_int_117| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= (+ (select |v_#memory_int_117| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |v_#memory_int_117| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_117| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_117| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:13:00,073 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:13:00,229 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:00,231 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:00,232 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:00,234 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:00,235 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:00,258 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:00,259 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:00,260 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:00,261 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:00,262 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:00,263 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:00,264 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:00,265 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:13:00,266 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:00,267 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 97 [2018-12-23 14:13:00,274 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:13:00,361 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-23 14:13:00,362 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2018-12-23 14:13:00,681 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:13:00,681 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_118|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_118| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 .cse0) (= 0 (+ (select |v_#memory_int_118| ULTIMATE.start_main_p4) 1)) (= 0 (select |v_#memory_int_118| ULTIMATE.start_main_p5)) (= 1 (select |v_#memory_int_118| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_118| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_118| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))))) [2018-12-23 14:13:00,681 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:13:00,770 INFO L273 TraceCheckUtils]: 0: Hoare triple {5173#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {5182#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:13:00,772 INFO L273 TraceCheckUtils]: 1: Hoare triple {5182#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5186#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:13:00,774 INFO L273 TraceCheckUtils]: 2: Hoare triple {5186#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {5190#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:13:00,781 INFO L273 TraceCheckUtils]: 3: Hoare triple {5190#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {5194#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2018-12-23 14:13:00,782 INFO L273 TraceCheckUtils]: 4: Hoare triple {5194#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {5174#false} is VALID [2018-12-23 14:13:00,782 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-23 14:13:00,782 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:13:00,856 INFO L273 TraceCheckUtils]: 4: Hoare triple {5198#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {5174#false} is VALID [2018-12-23 14:13:00,858 INFO L273 TraceCheckUtils]: 3: Hoare triple {5202#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {5198#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:13:00,859 INFO L273 TraceCheckUtils]: 2: Hoare triple {5206#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {5202#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:13:00,862 INFO L273 TraceCheckUtils]: 1: Hoare triple {5210#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5206#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:13:00,864 INFO L273 TraceCheckUtils]: 0: Hoare triple {5173#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {5210#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:13:00,865 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-23 14:13:00,884 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:13:00,884 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-23 14:13:00,884 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:13:00,885 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:13:00,885 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:13:00,885 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-23 14:13:00,906 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-23 14:13:00,906 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-23 14:13:00,906 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-23 14:13:00,907 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=116, Unknown=0, NotChecked=0, Total=182 [2018-12-23 14:13:00,907 INFO L87 Difference]: Start difference. First operand 41 states and 150 transitions. Second operand 10 states. [2018-12-23 14:13:03,339 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:13:03,339 INFO L93 Difference]: Finished difference Result 71 states and 197 transitions. [2018-12-23 14:13:03,339 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-23 14:13:03,339 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:13:03,340 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:13:03,340 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:13:03,340 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 69 transitions. [2018-12-23 14:13:03,340 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:13:03,341 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 69 transitions. [2018-12-23 14:13:03,341 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 69 transitions. [2018-12-23 14:13:03,518 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:13:03,519 INFO L225 Difference]: With dead ends: 71 [2018-12-23 14:13:03,519 INFO L226 Difference]: Without dead ends: 70 [2018-12-23 14:13:03,520 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=99, Invalid=173, Unknown=0, NotChecked=0, Total=272 [2018-12-23 14:13:03,520 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2018-12-23 14:13:04,003 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 38. [2018-12-23 14:13:04,004 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:13:04,004 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand 38 states. [2018-12-23 14:13:04,004 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand 38 states. [2018-12-23 14:13:04,004 INFO L87 Difference]: Start difference. First operand 70 states. Second operand 38 states. [2018-12-23 14:13:04,006 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:13:04,006 INFO L93 Difference]: Finished difference Result 70 states and 195 transitions. [2018-12-23 14:13:04,007 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 195 transitions. [2018-12-23 14:13:04,007 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:13:04,007 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:13:04,007 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 70 states. [2018-12-23 14:13:04,007 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 70 states. [2018-12-23 14:13:04,008 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:13:04,009 INFO L93 Difference]: Finished difference Result 70 states and 195 transitions. [2018-12-23 14:13:04,009 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 195 transitions. [2018-12-23 14:13:04,009 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:13:04,009 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:13:04,009 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:13:04,009 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:13:04,010 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 38 states. [2018-12-23 14:13:04,011 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 132 transitions. [2018-12-23 14:13:04,011 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 132 transitions. Word has length 5 [2018-12-23 14:13:04,011 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:13:04,011 INFO L480 AbstractCegarLoop]: Abstraction has 38 states and 132 transitions. [2018-12-23 14:13:04,011 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-23 14:13:04,011 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 132 transitions. [2018-12-23 14:13:04,011 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:13:04,012 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:13:04,012 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:13:04,012 INFO L423 AbstractCegarLoop]: === Iteration 25 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:13:04,012 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:13:04,012 INFO L82 PathProgramCache]: Analyzing trace with hash 29231506, now seen corresponding path program 1 times [2018-12-23 14:13:04,012 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:13:04,013 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:13:04,013 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:13:04,013 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:13:04,013 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:13:04,017 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:13:04,212 INFO L273 TraceCheckUtils]: 0: Hoare triple {5513#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {5515#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:13:04,213 INFO L273 TraceCheckUtils]: 1: Hoare triple {5515#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {5516#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:13:04,215 INFO L273 TraceCheckUtils]: 2: Hoare triple {5516#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5516#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:13:04,215 INFO L273 TraceCheckUtils]: 3: Hoare triple {5516#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {5517#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:13:04,216 INFO L273 TraceCheckUtils]: 4: Hoare triple {5517#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {5514#false} is VALID [2018-12-23 14:13:04,217 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-23 14:13:04,217 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:13:04,217 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:13:04,217 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:13:04,217 INFO L207 CegarAbsIntRunner]: [0], [6], [20], [24], [25] [2018-12-23 14:13:04,220 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:13:04,221 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:13:04,233 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:13:04,233 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:13:04,234 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:13:04,234 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:13:04,234 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:13:04,234 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-23 14:13:04,244 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:13:04,244 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:13:04,248 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:13:04,256 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:13:04,256 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:13:04,295 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:13:04,306 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:04,307 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:13:04,322 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:04,324 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:04,325 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:13:04,347 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:04,349 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:04,350 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:04,351 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:13:04,379 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:04,381 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:04,382 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:04,384 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:04,384 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:13:04,391 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:13:04,423 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:04,440 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:04,456 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:04,469 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:04,496 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-23 14:13:04,497 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2018-12-23 14:13:04,505 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:13:04,506 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_122|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_122| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:13:04,506 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:13:04,592 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:04,593 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:04,594 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:04,596 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:04,597 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:04,598 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:04,600 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:04,601 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:04,603 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:04,604 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:04,605 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:04,607 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-23 14:13:04,610 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:13:04,657 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-23 14:13:04,657 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-23 14:13:06,667 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:13:06,667 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_123|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_123| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (select |v_#memory_int_123| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_123| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_123| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= |#memory_int| (store |v_#memory_int_123| ULTIMATE.start_main_p5 (+ .cse0 1))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_123| ULTIMATE.start_main_p3)))) [2018-12-23 14:13:06,668 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:13:07,011 WARN L181 SmtUtils]: Spent 133.00 ms on a formula simplification that was a NOOP. DAG size: 25 [2018-12-23 14:13:07,163 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:07,165 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:07,166 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:07,168 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:07,169 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:07,170 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:07,175 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:07,176 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:07,177 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:07,181 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:07,184 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:07,184 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:07,185 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:13:07,186 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 80 [2018-12-23 14:13:07,188 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:13:07,239 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-23 14:13:07,239 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-23 14:13:08,301 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:13:08,301 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_124|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_124| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_124| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 (select |v_#memory_int_124| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_124| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_124| ULTIMATE.start_main_p4) 0) (= 0 .cse0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_124| ULTIMATE.start_main_p5) 1))) [2018-12-23 14:13:08,301 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:13:08,362 INFO L273 TraceCheckUtils]: 0: Hoare triple {5513#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {5521#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:13:08,365 INFO L273 TraceCheckUtils]: 1: Hoare triple {5521#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {5525#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:13:08,368 INFO L273 TraceCheckUtils]: 2: Hoare triple {5525#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5529#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-23 14:13:08,369 INFO L273 TraceCheckUtils]: 3: Hoare triple {5529#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {5529#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-23 14:13:08,370 INFO L273 TraceCheckUtils]: 4: Hoare triple {5529#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p2] <= 0); {5514#false} is VALID [2018-12-23 14:13:08,371 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-23 14:13:08,371 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:13:08,411 INFO L273 TraceCheckUtils]: 4: Hoare triple {5536#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {5514#false} is VALID [2018-12-23 14:13:08,412 INFO L273 TraceCheckUtils]: 3: Hoare triple {5536#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {5536#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:13:08,413 INFO L273 TraceCheckUtils]: 2: Hoare triple {5543#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5536#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:13:08,415 INFO L273 TraceCheckUtils]: 1: Hoare triple {5547#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {5543#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:13:08,417 INFO L273 TraceCheckUtils]: 0: Hoare triple {5513#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {5547#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:13:08,418 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-23 14:13:08,437 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:13:08,437 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:13:08,437 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:13:08,437 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-23 14:13:08,437 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:13:08,438 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:13:08,456 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-23 14:13:08,456 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:13:08,456 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:13:08,457 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=67, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:13:08,457 INFO L87 Difference]: Start difference. First operand 38 states and 132 transitions. Second operand 8 states. [2018-12-23 14:13:09,950 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:13:09,950 INFO L93 Difference]: Finished difference Result 66 states and 183 transitions. [2018-12-23 14:13:09,950 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-23 14:13:09,950 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-23 14:13:09,950 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:13:09,950 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:13:09,951 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 58 transitions. [2018-12-23 14:13:09,951 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:13:09,952 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 58 transitions. [2018-12-23 14:13:09,952 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 58 transitions. [2018-12-23 14:13:10,055 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:13:10,057 INFO L225 Difference]: With dead ends: 66 [2018-12-23 14:13:10,057 INFO L226 Difference]: Without dead ends: 65 [2018-12-23 14:13:10,057 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 2 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=61, Invalid=95, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:13:10,057 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states. [2018-12-23 14:13:10,428 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 41. [2018-12-23 14:13:10,428 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:13:10,428 INFO L82 GeneralOperation]: Start isEquivalent. First operand 65 states. Second operand 41 states. [2018-12-23 14:13:10,428 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand 41 states. [2018-12-23 14:13:10,428 INFO L87 Difference]: Start difference. First operand 65 states. Second operand 41 states. [2018-12-23 14:13:10,430 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:13:10,430 INFO L93 Difference]: Finished difference Result 65 states and 181 transitions. [2018-12-23 14:13:10,431 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 181 transitions. [2018-12-23 14:13:10,431 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:13:10,431 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:13:10,431 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 65 states. [2018-12-23 14:13:10,431 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 65 states. [2018-12-23 14:13:10,432 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:13:10,432 INFO L93 Difference]: Finished difference Result 65 states and 181 transitions. [2018-12-23 14:13:10,432 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 181 transitions. [2018-12-23 14:13:10,433 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:13:10,433 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:13:10,433 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:13:10,433 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:13:10,433 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2018-12-23 14:13:10,434 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 150 transitions. [2018-12-23 14:13:10,434 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 150 transitions. Word has length 5 [2018-12-23 14:13:10,434 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:13:10,434 INFO L480 AbstractCegarLoop]: Abstraction has 41 states and 150 transitions. [2018-12-23 14:13:10,434 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:13:10,434 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 150 transitions. [2018-12-23 14:13:10,434 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:13:10,434 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:13:10,435 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:13:10,435 INFO L423 AbstractCegarLoop]: === Iteration 26 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:13:10,435 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:13:10,435 INFO L82 PathProgramCache]: Analyzing trace with hash 29231070, now seen corresponding path program 1 times [2018-12-23 14:13:10,435 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:13:10,436 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:13:10,436 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:13:10,436 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:13:10,436 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:13:10,440 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:13:10,817 INFO L273 TraceCheckUtils]: 0: Hoare triple {5837#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {5839#(and (<= (+ ULTIMATE.start_main_p1 4) ULTIMATE.start_main_p5) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:13:10,819 INFO L273 TraceCheckUtils]: 1: Hoare triple {5839#(and (<= (+ ULTIMATE.start_main_p1 4) ULTIMATE.start_main_p5) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {5840#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:13:10,820 INFO L273 TraceCheckUtils]: 2: Hoare triple {5840#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5841#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:13:10,821 INFO L273 TraceCheckUtils]: 3: Hoare triple {5841#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {5842#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:13:10,821 INFO L273 TraceCheckUtils]: 4: Hoare triple {5842#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {5838#false} is VALID [2018-12-23 14:13:10,822 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-23 14:13:10,822 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:13:10,822 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:13:10,822 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:13:10,823 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [20], [23] [2018-12-23 14:13:10,824 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:13:10,825 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:13:10,834 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:13:10,834 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-23 14:13:10,834 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:13:10,834 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:13:10,834 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:13:10,835 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-23 14:13:10,845 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:13:10,845 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:13:10,849 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:13:10,853 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:13:10,854 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:13:10,893 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:13:10,906 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:10,907 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:13:10,921 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:10,922 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:10,923 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:13:10,939 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:10,940 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:10,942 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:10,943 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:13:10,972 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:10,973 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:10,974 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:10,976 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:10,977 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:13:10,982 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:13:11,012 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:11,029 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:11,043 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:11,056 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:11,081 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-23 14:13:11,082 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2018-12-23 14:13:11,089 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:13:11,090 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_127|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= |#memory_int| (store (store (store (store (store |v_#memory_int_127| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:13:11,090 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:13:11,160 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:11,161 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:11,162 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:11,163 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:11,165 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:11,166 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:11,167 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:11,169 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:11,170 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:11,171 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:11,172 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:11,173 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-23 14:13:11,178 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:13:11,226 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-23 14:13:11,226 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-23 14:13:11,457 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:13:11,457 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_128|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_128| ULTIMATE.start_main_p5))) (and (= 0 .cse0) (= (select |v_#memory_int_128| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_128| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_128| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_128| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_128| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:13:11,457 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:13:11,538 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:11,539 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:11,540 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:11,541 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:11,543 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:11,544 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:11,545 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:11,546 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:11,548 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:11,549 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:11,550 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:11,551 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:11,552 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:13:11,553 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 80 [2018-12-23 14:13:11,557 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:13:11,613 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-23 14:13:11,614 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-23 14:13:11,628 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:13:11,628 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_129|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_129| ULTIMATE.start_main_p1))) (and (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_129| ULTIMATE.start_main_p2) 0) (= 1 (select |v_#memory_int_129| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_129| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (store |v_#memory_int_129| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_129| ULTIMATE.start_main_p4) 0))) [2018-12-23 14:13:11,629 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:13:11,728 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:11,729 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:11,731 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:11,732 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:11,733 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:11,735 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:11,736 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:11,737 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:11,739 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:11,740 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:11,741 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:11,743 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:11,744 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:11,745 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 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-23 14:13:11,751 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:13:11,808 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-23 14:13:11,809 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-23 14:13:13,833 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:13:13,833 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_130|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_130| ULTIMATE.start_main_p2))) (and (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_130| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_130| ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_130| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 1 (select |v_#memory_int_130| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_130| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:13:13,833 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:13:13,905 INFO L273 TraceCheckUtils]: 0: Hoare triple {5837#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {5846#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:13:13,908 INFO L273 TraceCheckUtils]: 1: Hoare triple {5846#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {5850#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:13:13,912 INFO L273 TraceCheckUtils]: 2: Hoare triple {5850#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5854#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:13:13,917 INFO L273 TraceCheckUtils]: 3: Hoare triple {5854#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {5858#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2018-12-23 14:13:13,918 INFO L273 TraceCheckUtils]: 4: Hoare triple {5858#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {5838#false} is VALID [2018-12-23 14:13:13,919 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-23 14:13:13,919 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:13:13,988 INFO L273 TraceCheckUtils]: 4: Hoare triple {5862#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {5838#false} is VALID [2018-12-23 14:13:13,990 INFO L273 TraceCheckUtils]: 3: Hoare triple {5866#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {5862#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:13:13,991 INFO L273 TraceCheckUtils]: 2: Hoare triple {5870#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5866#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:13:13,993 INFO L273 TraceCheckUtils]: 1: Hoare triple {5874#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {5870#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:13:13,996 INFO L273 TraceCheckUtils]: 0: Hoare triple {5837#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {5874#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:13:13,996 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 5 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:13:14,016 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:13:14,017 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-23 14:13:14,017 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:13:14,017 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:13:14,017 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:13:14,017 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-23 14:13:14,039 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-23 14:13:14,039 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-23 14:13:14,039 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-23 14:13:14,040 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2018-12-23 14:13:14,040 INFO L87 Difference]: Start difference. First operand 41 states and 150 transitions. Second operand 10 states. [2018-12-23 14:13:16,026 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:13:16,026 INFO L93 Difference]: Finished difference Result 93 states and 253 transitions. [2018-12-23 14:13:16,026 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-23 14:13:16,026 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:13:16,027 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:13:16,027 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:13:16,027 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 85 transitions. [2018-12-23 14:13:16,027 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:13:16,028 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 85 transitions. [2018-12-23 14:13:16,028 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 85 transitions. [2018-12-23 14:13:16,235 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-23 14:13:16,237 INFO L225 Difference]: With dead ends: 93 [2018-12-23 14:13:16,237 INFO L226 Difference]: Without dead ends: 92 [2018-12-23 14:13:16,238 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=89, Invalid=151, Unknown=0, NotChecked=0, Total=240 [2018-12-23 14:13:16,238 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2018-12-23 14:13:17,021 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 48. [2018-12-23 14:13:17,021 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:13:17,021 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand 48 states. [2018-12-23 14:13:17,022 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand 48 states. [2018-12-23 14:13:17,022 INFO L87 Difference]: Start difference. First operand 92 states. Second operand 48 states. [2018-12-23 14:13:17,023 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:13:17,023 INFO L93 Difference]: Finished difference Result 92 states and 251 transitions. [2018-12-23 14:13:17,023 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 251 transitions. [2018-12-23 14:13:17,024 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:13:17,024 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:13:17,024 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 92 states. [2018-12-23 14:13:17,024 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 92 states. [2018-12-23 14:13:17,026 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:13:17,026 INFO L93 Difference]: Finished difference Result 92 states and 251 transitions. [2018-12-23 14:13:17,027 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 251 transitions. [2018-12-23 14:13:17,028 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:13:17,028 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:13:17,028 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:13:17,028 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:13:17,028 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 48 states. [2018-12-23 14:13:17,030 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 192 transitions. [2018-12-23 14:13:17,030 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 192 transitions. Word has length 5 [2018-12-23 14:13:17,030 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:13:17,030 INFO L480 AbstractCegarLoop]: Abstraction has 48 states and 192 transitions. [2018-12-23 14:13:17,030 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-23 14:13:17,030 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 192 transitions. [2018-12-23 14:13:17,030 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:13:17,030 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:13:17,031 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:13:17,031 INFO L423 AbstractCegarLoop]: === Iteration 27 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:13:17,031 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:13:17,031 INFO L82 PathProgramCache]: Analyzing trace with hash 29248868, now seen corresponding path program 1 times [2018-12-23 14:13:17,031 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:13:17,032 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:13:17,032 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:13:17,032 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:13:17,032 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:13:17,035 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:13:17,141 INFO L273 TraceCheckUtils]: 0: Hoare triple {6268#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {6270#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:13:17,142 INFO L273 TraceCheckUtils]: 1: Hoare triple {6270#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6271#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-23 14:13:17,142 INFO L273 TraceCheckUtils]: 2: Hoare triple {6271#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p1] >= 0; {6271#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-23 14:13:17,143 INFO L273 TraceCheckUtils]: 3: Hoare triple {6271#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p2] <= 0; {6271#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-23 14:13:17,143 INFO L273 TraceCheckUtils]: 4: Hoare triple {6271#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {6269#false} is VALID [2018-12-23 14:13:17,143 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-23 14:13:17,144 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:13:17,144 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:13:17,144 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:13:17,144 INFO L207 CegarAbsIntRunner]: [0], [20], [24], [26], [27] [2018-12-23 14:13:17,145 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:13:17,145 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:13:17,164 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:13:17,164 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-23 14:13:17,164 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:13:17,164 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:13:17,165 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:13:17,165 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-23 14:13:17,173 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:13:17,174 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:13:17,177 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:13:17,181 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:13:17,181 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:13:17,213 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:13:17,224 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:13:17,247 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 25 [2018-12-23 14:13:17,276 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:17,276 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 31 [2018-12-23 14:13:17,303 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:17,308 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:17,309 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 38 [2018-12-23 14:13:17,315 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:13:17,334 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:17,347 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:17,360 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:17,373 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:17,394 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-23 14:13:17,395 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:25, output treesize:32 [2018-12-23 14:13:17,404 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:13:17,404 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_134|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (= (store (store (store (store (store |v_#memory_int_134| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2018-12-23 14:13:17,404 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:13:17,468 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:17,469 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:17,470 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:17,471 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:17,472 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 34 [2018-12-23 14:13:17,477 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:13:17,500 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-23 14:13:17,500 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2018-12-23 14:13:17,516 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:13:17,517 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_135|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_135| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_135| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_135| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_135| ULTIMATE.start_main_p4)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) [2018-12-23 14:13:17,517 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:13:17,583 INFO L273 TraceCheckUtils]: 0: Hoare triple {6268#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {6275#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:13:17,585 INFO L273 TraceCheckUtils]: 1: Hoare triple {6275#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6279#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-23 14:13:17,586 INFO L273 TraceCheckUtils]: 2: Hoare triple {6279#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {6279#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-23 14:13:17,586 INFO L273 TraceCheckUtils]: 3: Hoare triple {6279#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p2] <= 0; {6279#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-23 14:13:17,587 INFO L273 TraceCheckUtils]: 4: Hoare triple {6279#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p3] >= 0); {6269#false} is VALID [2018-12-23 14:13:17,587 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-23 14:13:17,587 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:13:17,614 INFO L273 TraceCheckUtils]: 4: Hoare triple {6289#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {6269#false} is VALID [2018-12-23 14:13:17,614 INFO L273 TraceCheckUtils]: 3: Hoare triple {6289#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {6289#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:13:17,615 INFO L273 TraceCheckUtils]: 2: Hoare triple {6289#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {6289#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:13:17,616 INFO L273 TraceCheckUtils]: 1: Hoare triple {6299#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6289#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:13:17,618 INFO L273 TraceCheckUtils]: 0: Hoare triple {6268#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {6299#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:13:17,618 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-23 14:13:17,638 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 2 imperfect interpolant sequences. [2018-12-23 14:13:17,638 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2, 2] total 6 [2018-12-23 14:13:17,638 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-23 14:13:17,639 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 5 [2018-12-23 14:13:17,639 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:13:17,639 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-12-23 14:13:17,644 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 5 edges. 5 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:13:17,644 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-12-23 14:13:17,644 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-12-23 14:13:17,644 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=30, Unknown=0, NotChecked=0, Total=56 [2018-12-23 14:13:17,645 INFO L87 Difference]: Start difference. First operand 48 states and 192 transitions. Second operand 4 states. [2018-12-23 14:13:18,321 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:13:18,321 INFO L93 Difference]: Finished difference Result 56 states and 215 transitions. [2018-12-23 14:13:18,321 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-12-23 14:13:18,322 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 5 [2018-12-23 14:13:18,322 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:13:18,322 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-23 14:13:18,322 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 25 transitions. [2018-12-23 14:13:18,322 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-23 14:13:18,323 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 25 transitions. [2018-12-23 14:13:18,323 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 25 transitions. [2018-12-23 14:13:18,345 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:13:18,346 INFO L225 Difference]: With dead ends: 56 [2018-12-23 14:13:18,346 INFO L226 Difference]: Without dead ends: 55 [2018-12-23 14:13:18,347 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=26, Invalid=30, Unknown=0, NotChecked=0, Total=56 [2018-12-23 14:13:18,347 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2018-12-23 14:13:18,861 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 52. [2018-12-23 14:13:18,861 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:13:18,861 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 52 states. [2018-12-23 14:13:18,861 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 52 states. [2018-12-23 14:13:18,861 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 52 states. [2018-12-23 14:13:18,863 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:13:18,863 INFO L93 Difference]: Finished difference Result 55 states and 213 transitions. [2018-12-23 14:13:18,863 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 213 transitions. [2018-12-23 14:13:18,864 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:13:18,864 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:13:18,864 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 55 states. [2018-12-23 14:13:18,864 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 55 states. [2018-12-23 14:13:18,866 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:13:18,866 INFO L93 Difference]: Finished difference Result 55 states and 213 transitions. [2018-12-23 14:13:18,867 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 213 transitions. [2018-12-23 14:13:18,867 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:13:18,867 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:13:18,867 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:13:18,867 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:13:18,867 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 52 states. [2018-12-23 14:13:18,868 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 211 transitions. [2018-12-23 14:13:18,868 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 211 transitions. Word has length 5 [2018-12-23 14:13:18,868 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:13:18,868 INFO L480 AbstractCegarLoop]: Abstraction has 52 states and 211 transitions. [2018-12-23 14:13:18,869 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-12-23 14:13:18,869 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 211 transitions. [2018-12-23 14:13:18,869 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:13:18,869 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:13:18,869 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:13:18,869 INFO L423 AbstractCegarLoop]: === Iteration 28 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:13:18,869 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:13:18,870 INFO L82 PathProgramCache]: Analyzing trace with hash 29235350, now seen corresponding path program 1 times [2018-12-23 14:13:18,870 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:13:18,870 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:13:18,870 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:13:18,871 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:13:18,871 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:13:18,874 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:13:18,945 INFO L273 TraceCheckUtils]: 0: Hoare triple {6584#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {6586#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:13:18,946 INFO L273 TraceCheckUtils]: 1: Hoare triple {6586#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6587#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:13:18,947 INFO L273 TraceCheckUtils]: 2: Hoare triple {6587#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {6588#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-23 14:13:18,948 INFO L273 TraceCheckUtils]: 3: Hoare triple {6588#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume #memory_int[main_p1] >= 0; {6588#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-23 14:13:18,948 INFO L273 TraceCheckUtils]: 4: Hoare triple {6588#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {6585#false} is VALID [2018-12-23 14:13:18,949 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-23 14:13:18,949 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:13:18,949 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:13:18,949 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:13:18,950 INFO L207 CegarAbsIntRunner]: [0], [10], [20], [24], [25] [2018-12-23 14:13:18,951 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:13:18,951 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:13:18,961 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:13:18,961 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:13:18,962 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:13:18,962 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:13:18,962 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:13:18,962 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 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-23 14:13:18,971 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:13:18,971 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:13:18,975 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:13:18,980 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:13:18,981 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:13:19,010 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:13:19,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, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:13:19,035 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:19,036 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-23 14:13:19,051 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:19,052 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:19,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, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-23 14:13:19,070 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:19,075 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:19,076 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:19,077 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:13:19,084 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:13:19,104 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:19,118 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:19,130 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:19,142 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:19,165 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-23 14:13:19,165 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:28, output treesize:35 [2018-12-23 14:13:19,177 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:13:19,177 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_137|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (= |#memory_int| (store (store (store (store (store |v_#memory_int_137| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:13:19,177 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:13:19,248 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:19,249 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:19,250 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:19,252 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:19,253 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:19,254 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:19,255 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:19,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 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 51 [2018-12-23 14:13:19,295 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:13:19,325 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-23 14:13:19,325 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2018-12-23 14:13:21,334 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:13:21,335 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_138|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_138| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_138| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_138| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |v_#memory_int_138| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_138| ULTIMATE.start_main_p4)))) [2018-12-23 14:13:21,335 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:13:21,417 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:21,418 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:21,419 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:21,421 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:21,422 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:21,423 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:21,424 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:21,425 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:21,427 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:21,430 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 65 [2018-12-23 14:13:21,433 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:13:21,472 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-23 14:13:21,473 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2018-12-23 14:13:21,487 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:13:21,487 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_139|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_139| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_139| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_139| ULTIMATE.start_main_p5) 1) (= (select |v_#memory_int_139| ULTIMATE.start_main_p4) 0) (= .cse0 0) (= (store |v_#memory_int_139| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:13:21,488 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:13:21,553 INFO L273 TraceCheckUtils]: 0: Hoare triple {6584#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {6592#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:13:21,555 INFO L273 TraceCheckUtils]: 1: Hoare triple {6592#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6596#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-23 14:13:21,558 INFO L273 TraceCheckUtils]: 2: Hoare triple {6596#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {6600#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-23 14:13:21,560 INFO L273 TraceCheckUtils]: 3: Hoare triple {6600#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {6600#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-23 14:13:21,561 INFO L273 TraceCheckUtils]: 4: Hoare triple {6600#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p2] <= 0); {6585#false} is VALID [2018-12-23 14:13:21,561 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-23 14:13:21,561 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:13:21,602 INFO L273 TraceCheckUtils]: 4: Hoare triple {6607#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {6585#false} is VALID [2018-12-23 14:13:21,603 INFO L273 TraceCheckUtils]: 3: Hoare triple {6607#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {6607#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:13:21,604 INFO L273 TraceCheckUtils]: 2: Hoare triple {6614#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {6607#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:13:21,605 INFO L273 TraceCheckUtils]: 1: Hoare triple {6618#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6614#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2018-12-23 14:13:21,607 INFO L273 TraceCheckUtils]: 0: Hoare triple {6584#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {6618#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2018-12-23 14:13:21,608 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-23 14:13:21,627 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:13:21,628 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:13:21,628 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:13:21,628 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-23 14:13:21,628 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:13:21,628 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:13:21,645 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-23 14:13:21,645 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:13:21,645 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:13:21,645 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=65, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:13:21,646 INFO L87 Difference]: Start difference. First operand 52 states and 211 transitions. Second operand 8 states. [2018-12-23 14:13:24,173 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:13:24,174 INFO L93 Difference]: Finished difference Result 85 states and 266 transitions. [2018-12-23 14:13:24,174 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-23 14:13:24,174 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-23 14:13:24,174 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:13:24,174 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:13:24,175 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 68 transitions. [2018-12-23 14:13:24,175 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:13:24,175 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 68 transitions. [2018-12-23 14:13:24,175 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 68 transitions. [2018-12-23 14:13:24,271 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-23 14:13:24,273 INFO L225 Difference]: With dead ends: 85 [2018-12-23 14:13:24,273 INFO L226 Difference]: Without dead ends: 84 [2018-12-23 14:13:24,273 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=53, Invalid=79, Unknown=0, NotChecked=0, Total=132 [2018-12-23 14:13:24,274 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2018-12-23 14:13:25,249 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 54. [2018-12-23 14:13:25,249 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:13:25,249 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand 54 states. [2018-12-23 14:13:25,249 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand 54 states. [2018-12-23 14:13:25,249 INFO L87 Difference]: Start difference. First operand 84 states. Second operand 54 states. [2018-12-23 14:13:25,251 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:13:25,251 INFO L93 Difference]: Finished difference Result 84 states and 264 transitions. [2018-12-23 14:13:25,251 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 264 transitions. [2018-12-23 14:13:25,252 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:13:25,252 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:13:25,252 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand 84 states. [2018-12-23 14:13:25,252 INFO L87 Difference]: Start difference. First operand 54 states. Second operand 84 states. [2018-12-23 14:13:25,254 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:13:25,254 INFO L93 Difference]: Finished difference Result 84 states and 264 transitions. [2018-12-23 14:13:25,254 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 264 transitions. [2018-12-23 14:13:25,254 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:13:25,254 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:13:25,255 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:13:25,255 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:13:25,255 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 54 states. [2018-12-23 14:13:25,256 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 223 transitions. [2018-12-23 14:13:25,256 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 223 transitions. Word has length 5 [2018-12-23 14:13:25,257 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:13:25,257 INFO L480 AbstractCegarLoop]: Abstraction has 54 states and 223 transitions. [2018-12-23 14:13:25,257 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:13:25,257 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 223 transitions. [2018-12-23 14:13:25,257 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:13:25,257 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:13:25,257 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:13:25,258 INFO L423 AbstractCegarLoop]: === Iteration 29 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:13:25,258 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:13:25,258 INFO L82 PathProgramCache]: Analyzing trace with hash 29235038, now seen corresponding path program 1 times [2018-12-23 14:13:25,258 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:13:25,259 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:13:25,259 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:13:25,259 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:13:25,259 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:13:25,264 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:13:25,500 INFO L273 TraceCheckUtils]: 0: Hoare triple {7001#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {7003#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:13:25,501 INFO L273 TraceCheckUtils]: 1: Hoare triple {7003#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7004#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:13:25,502 INFO L273 TraceCheckUtils]: 2: Hoare triple {7004#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7005#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:13:25,503 INFO L273 TraceCheckUtils]: 3: Hoare triple {7005#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {7006#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:13:25,504 INFO L273 TraceCheckUtils]: 4: Hoare triple {7006#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {7002#false} is VALID [2018-12-23 14:13:25,505 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-23 14:13:25,505 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:13:25,505 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:13:25,505 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:13:25,506 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [20], [23] [2018-12-23 14:13:25,508 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:13:25,508 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:13:25,519 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:13:25,519 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-23 14:13:25,519 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:13:25,520 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:13:25,520 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:13:25,520 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-23 14:13:25,532 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:13:25,532 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:13:25,537 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:13:25,543 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:13:25,544 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:13:25,591 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:13:25,604 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:25,605 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:13:25,623 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:25,624 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:25,624 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:13:25,646 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:25,647 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:25,647 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:25,648 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:13:25,678 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:25,680 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:25,681 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:25,683 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:25,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, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:13:25,692 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:13:25,722 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:25,741 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:25,754 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:25,768 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:25,793 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:13:25,793 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2018-12-23 14:13:25,805 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:13:25,806 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_142|, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_142| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:13:25,806 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:13:25,905 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:25,907 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:25,908 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:25,909 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:25,911 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:25,912 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:25,913 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:25,914 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:25,916 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:25,917 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:25,918 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:25,919 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-23 14:13:25,927 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:13:25,980 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-23 14:13:25,981 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-23 14:13:26,077 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:13:26,077 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_143|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_143| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_143| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_143| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_143| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 .cse0) (= 0 (select |v_#memory_int_143| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store |v_#memory_int_143| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|))) [2018-12-23 14:13:26,077 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:13:26,205 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:26,207 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:26,208 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:26,210 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:26,211 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:26,212 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:26,214 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:26,215 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:26,217 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:26,218 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:26,219 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:26,220 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:26,222 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:26,223 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-23 14:13:26,231 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:13:26,288 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-23 14:13:26,289 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-23 14:13:26,317 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:13:26,317 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_144|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_144| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_144| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_144| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_144| ULTIMATE.start_main_p1) 0) (= 1 (select |v_#memory_int_144| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_144| ULTIMATE.start_main_p4)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:13:26,317 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:13:26,412 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:26,413 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:26,415 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:26,416 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:26,418 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:26,419 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:26,421 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:26,422 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:26,423 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:26,425 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:26,426 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:26,427 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:26,428 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:26,429 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:26,430 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:13:26,431 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 98 [2018-12-23 14:13:26,439 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:13:26,557 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-23 14:13:26,558 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2018-12-23 14:13:26,604 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:13:26,605 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_145|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_145| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_145| ULTIMATE.start_main_p4)) (= 0 (+ (select |v_#memory_int_145| ULTIMATE.start_main_p2) 1)) (= 0 (select |v_#memory_int_145| ULTIMATE.start_main_p1)) (= 0 .cse0) (= 1 (select |v_#memory_int_145| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_145| ULTIMATE.start_main_p3 (+ .cse0 1))))) [2018-12-23 14:13:26,605 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-23 14:13:26,695 INFO L273 TraceCheckUtils]: 0: Hoare triple {7001#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {7010#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:13:26,700 INFO L273 TraceCheckUtils]: 1: Hoare triple {7010#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7014#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:13:26,703 INFO L273 TraceCheckUtils]: 2: Hoare triple {7014#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7018#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-23 14:13:26,707 INFO L273 TraceCheckUtils]: 3: Hoare triple {7018#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {7022#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2018-12-23 14:13:26,708 INFO L273 TraceCheckUtils]: 4: Hoare triple {7022#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {7002#false} is VALID [2018-12-23 14:13:26,709 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-23 14:13:26,709 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:13:26,809 INFO L273 TraceCheckUtils]: 4: Hoare triple {7026#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {7002#false} is VALID [2018-12-23 14:13:26,811 INFO L273 TraceCheckUtils]: 3: Hoare triple {7030#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {7026#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:13:26,812 INFO L273 TraceCheckUtils]: 2: Hoare triple {7034#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7030#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:13:26,814 INFO L273 TraceCheckUtils]: 1: Hoare triple {7038#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7034#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:13:26,817 INFO L273 TraceCheckUtils]: 0: Hoare triple {7001#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {7038#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:13:26,817 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-23 14:13:26,838 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:13:26,838 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-23 14:13:26,838 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:13:26,838 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:13:26,838 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:13:26,839 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-23 14:13:26,897 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-23 14:13:26,897 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-23 14:13:26,897 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-23 14:13:26,897 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=68, Invalid=114, Unknown=0, NotChecked=0, Total=182 [2018-12-23 14:13:26,898 INFO L87 Difference]: Start difference. First operand 54 states and 223 transitions. Second operand 10 states. [2018-12-23 14:13:29,552 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:13:29,552 INFO L93 Difference]: Finished difference Result 96 states and 303 transitions. [2018-12-23 14:13:29,552 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-23 14:13:29,552 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:13:29,552 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:13:29,552 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:13:29,553 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 71 transitions. [2018-12-23 14:13:29,553 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:13:29,553 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 71 transitions. [2018-12-23 14:13:29,553 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 71 transitions. [2018-12-23 14:13:30,039 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:13:30,040 INFO L225 Difference]: With dead ends: 96 [2018-12-23 14:13:30,040 INFO L226 Difference]: Without dead ends: 94 [2018-12-23 14:13:30,041 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 62 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=101, Invalid=171, Unknown=0, NotChecked=0, Total=272 [2018-12-23 14:13:30,041 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2018-12-23 14:13:30,865 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 61. [2018-12-23 14:13:30,865 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:13:30,865 INFO L82 GeneralOperation]: Start isEquivalent. First operand 94 states. Second operand 61 states. [2018-12-23 14:13:30,865 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand 61 states. [2018-12-23 14:13:30,865 INFO L87 Difference]: Start difference. First operand 94 states. Second operand 61 states. [2018-12-23 14:13:30,867 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:13:30,867 INFO L93 Difference]: Finished difference Result 94 states and 300 transitions. [2018-12-23 14:13:30,867 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 300 transitions. [2018-12-23 14:13:30,868 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:13:30,868 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:13:30,868 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand 94 states. [2018-12-23 14:13:30,869 INFO L87 Difference]: Start difference. First operand 61 states. Second operand 94 states. [2018-12-23 14:13:30,871 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:13:30,871 INFO L93 Difference]: Finished difference Result 94 states and 300 transitions. [2018-12-23 14:13:30,871 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 300 transitions. [2018-12-23 14:13:30,872 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:13:30,872 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:13:30,872 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:13:30,872 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:13:30,872 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 61 states. [2018-12-23 14:13:30,874 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 265 transitions. [2018-12-23 14:13:30,874 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 265 transitions. Word has length 5 [2018-12-23 14:13:30,874 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:13:30,874 INFO L480 AbstractCegarLoop]: Abstraction has 61 states and 265 transitions. [2018-12-23 14:13:30,874 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-23 14:13:30,874 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 265 transitions. [2018-12-23 14:13:30,875 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:13:30,875 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:13:30,875 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:13:30,875 INFO L423 AbstractCegarLoop]: === Iteration 30 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:13:30,875 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:13:30,876 INFO L82 PathProgramCache]: Analyzing trace with hash 29239194, now seen corresponding path program 1 times [2018-12-23 14:13:30,876 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:13:30,876 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:13:30,877 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:13:30,877 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:13:30,877 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:13:30,881 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:13:31,137 INFO L273 TraceCheckUtils]: 0: Hoare triple {7475#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {7477#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:13:31,138 INFO L273 TraceCheckUtils]: 1: Hoare triple {7477#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7478#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:13:31,139 INFO L273 TraceCheckUtils]: 2: Hoare triple {7478#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {7479#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:13:31,139 INFO L273 TraceCheckUtils]: 3: Hoare triple {7479#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {7479#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:13:31,139 INFO L273 TraceCheckUtils]: 4: Hoare triple {7479#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {7476#false} is VALID [2018-12-23 14:13:31,140 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-23 14:13:31,140 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:13:31,140 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:13:31,140 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:13:31,140 INFO L207 CegarAbsIntRunner]: [0], [14], [20], [24], [25] [2018-12-23 14:13:31,141 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:13:31,141 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:13:31,150 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:13:31,150 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:13:31,151 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:13:31,151 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:13:31,151 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:13:31,151 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 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-23 14:13:31,161 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:13:31,161 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:13:31,171 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:13:31,174 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:13:31,174 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:13:31,204 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:13:31,212 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:13:31,225 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:31,226 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-23 14:13:31,251 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:31,253 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:31,254 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-23 14:13:31,272 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:31,276 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:31,277 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:31,278 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:13:31,283 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:13:31,305 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:31,319 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:31,331 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:31,343 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:31,365 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-23 14:13:31,365 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:28, output treesize:35 [2018-12-23 14:13:31,374 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:13:31,374 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_149|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_149| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:13:31,374 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:13:31,440 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:31,441 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:31,442 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:31,444 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:31,445 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:31,446 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:31,447 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:31,448 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 51 [2018-12-23 14:13:31,453 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:13:31,484 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-23 14:13:31,484 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2018-12-23 14:13:31,492 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:13:31,492 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_150|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_150| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_150| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_150| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_150| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_150| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= .cse0 0))) [2018-12-23 14:13:31,492 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:13:31,576 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:31,606 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:31,628 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:31,649 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:31,671 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:31,698 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:31,714 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:31,716 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:31,716 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:13:31,716 INFO L303 Elim1Store]: Index analysis took 168 ms [2018-12-23 14:13:31,717 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 59 [2018-12-23 14:13:31,723 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:13:31,757 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-23 14:13:31,758 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2018-12-23 14:13:31,778 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:13:31,779 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_151|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_151| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_151| ULTIMATE.start_main_p4)) (= 0 .cse0) (= (select |v_#memory_int_151| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_151| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_151| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:13:31,779 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:13:31,837 INFO L273 TraceCheckUtils]: 0: Hoare triple {7475#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {7483#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:13:31,839 INFO L273 TraceCheckUtils]: 1: Hoare triple {7483#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7487#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:13:31,842 INFO L273 TraceCheckUtils]: 2: Hoare triple {7487#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {7491#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:13:31,843 INFO L273 TraceCheckUtils]: 3: Hoare triple {7491#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {7491#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:13:31,844 INFO L273 TraceCheckUtils]: 4: Hoare triple {7491#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {7476#false} is VALID [2018-12-23 14:13:31,845 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-23 14:13:31,845 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:13:31,892 INFO L273 TraceCheckUtils]: 4: Hoare triple {7498#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {7476#false} is VALID [2018-12-23 14:13:31,893 INFO L273 TraceCheckUtils]: 3: Hoare triple {7498#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {7498#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:13:31,895 INFO L273 TraceCheckUtils]: 2: Hoare triple {7505#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {7498#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:13:31,896 INFO L273 TraceCheckUtils]: 1: Hoare triple {7509#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7505#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:13:31,898 INFO L273 TraceCheckUtils]: 0: Hoare triple {7475#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {7509#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:13:31,899 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-23 14:13:31,919 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:13:31,920 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:13:31,920 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:13:31,920 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-23 14:13:31,920 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:13:31,920 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:13:31,936 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-23 14:13:31,937 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:13:31,937 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:13:31,937 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=67, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:13:31,937 INFO L87 Difference]: Start difference. First operand 61 states and 265 transitions. Second operand 8 states. [2018-12-23 14:13:33,834 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:13:33,834 INFO L93 Difference]: Finished difference Result 82 states and 289 transitions. [2018-12-23 14:13:33,834 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-23 14:13:33,835 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-23 14:13:33,835 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:13:33,835 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:13:33,835 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 55 transitions. [2018-12-23 14:13:33,835 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:13:33,835 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 55 transitions. [2018-12-23 14:13:33,836 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 55 transitions. [2018-12-23 14:13:33,919 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-23 14:13:33,921 INFO L225 Difference]: With dead ends: 82 [2018-12-23 14:13:33,921 INFO L226 Difference]: Without dead ends: 81 [2018-12-23 14:13:33,922 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=61, Invalid=95, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:13:33,922 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2018-12-23 14:13:35,345 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 61. [2018-12-23 14:13:35,346 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:13:35,346 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand 61 states. [2018-12-23 14:13:35,346 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand 61 states. [2018-12-23 14:13:35,346 INFO L87 Difference]: Start difference. First operand 81 states. Second operand 61 states. [2018-12-23 14:13:35,349 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:13:35,349 INFO L93 Difference]: Finished difference Result 81 states and 287 transitions. [2018-12-23 14:13:35,349 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 287 transitions. [2018-12-23 14:13:35,349 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:13:35,349 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:13:35,350 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand 81 states. [2018-12-23 14:13:35,350 INFO L87 Difference]: Start difference. First operand 61 states. Second operand 81 states. [2018-12-23 14:13:35,351 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:13:35,351 INFO L93 Difference]: Finished difference Result 81 states and 287 transitions. [2018-12-23 14:13:35,351 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 287 transitions. [2018-12-23 14:13:35,352 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:13:35,352 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:13:35,352 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:13:35,352 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:13:35,352 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 61 states. [2018-12-23 14:13:35,353 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 265 transitions. [2018-12-23 14:13:35,353 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 265 transitions. Word has length 5 [2018-12-23 14:13:35,353 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:13:35,353 INFO L480 AbstractCegarLoop]: Abstraction has 61 states and 265 transitions. [2018-12-23 14:13:35,353 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:13:35,354 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 265 transitions. [2018-12-23 14:13:35,354 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:13:35,354 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:13:35,354 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:13:35,354 INFO L423 AbstractCegarLoop]: === Iteration 31 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:13:35,354 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:13:35,354 INFO L82 PathProgramCache]: Analyzing trace with hash 28818276, now seen corresponding path program 1 times [2018-12-23 14:13:35,355 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:13:35,355 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:13:35,355 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:13:35,355 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:13:35,355 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:13:35,359 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:13:35,778 WARN L181 SmtUtils]: Spent 199.00 ms on a formula simplification. DAG size of input: 19 DAG size of output: 13 [2018-12-23 14:13:35,841 INFO L273 TraceCheckUtils]: 0: Hoare triple {7904#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {7906#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:13:35,843 INFO L273 TraceCheckUtils]: 1: Hoare triple {7906#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {7907#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:13:35,844 INFO L273 TraceCheckUtils]: 2: Hoare triple {7907#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7908#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:13:35,844 INFO L273 TraceCheckUtils]: 3: Hoare triple {7908#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {7908#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:13:35,845 INFO L273 TraceCheckUtils]: 4: Hoare triple {7908#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {7905#false} is VALID [2018-12-23 14:13:35,845 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-23 14:13:35,846 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:13:35,846 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:13:35,846 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:13:35,846 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [24], [25] [2018-12-23 14:13:35,847 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:13:35,847 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:13:35,858 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:13:35,858 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:13:35,858 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:13:35,859 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:13:35,859 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:13:35,859 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-23 14:13:35,892 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:13:35,892 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:13:35,904 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:13:35,906 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:13:35,907 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:13:35,952 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:13:35,961 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:35,962 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:13:35,973 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:35,975 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:35,976 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:13:35,990 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:35,992 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:35,993 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:35,994 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:13:36,012 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:36,013 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:36,014 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:36,016 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:36,017 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:13:36,019 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:13:36,050 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:36,066 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:36,080 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:36,092 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:36,115 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-23 14:13:36,116 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:31, output treesize:38 [2018-12-23 14:13:36,129 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:13:36,129 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_154|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= |#memory_int| (store (store (store (store (store |v_#memory_int_154| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:13:36,129 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:13:36,187 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:36,188 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:36,190 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:36,191 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:36,193 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:36,194 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:36,196 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:36,197 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:36,199 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:36,200 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:36,202 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:36,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 72 [2018-12-23 14:13:36,206 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:13:36,258 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-23 14:13:36,259 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-23 14:13:36,310 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:13:36,310 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_155|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_155| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_155| ULTIMATE.start_main_p1 (+ .cse0 1))) (= (select |v_#memory_int_155| ULTIMATE.start_main_p5) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_155| ULTIMATE.start_main_p4) 0) (= 0 (select |v_#memory_int_155| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_155| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:13:36,310 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:13:36,373 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:36,375 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:36,376 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:36,377 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:36,379 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:36,380 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:36,381 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:36,383 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:36,384 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:36,385 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:36,386 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:36,388 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:36,389 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:36,390 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-23 14:13:36,393 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:13:36,450 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-23 14:13:36,450 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-23 14:13:36,555 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:13:36,556 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_156|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_156| ULTIMATE.start_main_p2))) (and (= (store |v_#memory_int_156| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_156| ULTIMATE.start_main_p1) 1) (= (select |v_#memory_int_156| ULTIMATE.start_main_p5) 0) (= 0 (select |v_#memory_int_156| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |v_#memory_int_156| ULTIMATE.start_main_p3)))) [2018-12-23 14:13:36,556 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:13:36,626 INFO L273 TraceCheckUtils]: 0: Hoare triple {7904#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {7912#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:13:36,630 INFO L273 TraceCheckUtils]: 1: Hoare triple {7912#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {7916#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:13:36,633 INFO L273 TraceCheckUtils]: 2: Hoare triple {7916#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7920#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-23 14:13:36,634 INFO L273 TraceCheckUtils]: 3: Hoare triple {7920#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {7920#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-23 14:13:36,635 INFO L273 TraceCheckUtils]: 4: Hoare triple {7920#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p2] <= 0); {7905#false} is VALID [2018-12-23 14:13:36,636 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-23 14:13:36,636 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:13:36,686 INFO L273 TraceCheckUtils]: 4: Hoare triple {7908#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {7905#false} is VALID [2018-12-23 14:13:36,688 INFO L273 TraceCheckUtils]: 3: Hoare triple {7908#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {7908#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:13:36,688 INFO L273 TraceCheckUtils]: 2: Hoare triple {7933#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7908#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:13:36,690 INFO L273 TraceCheckUtils]: 1: Hoare triple {7937#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {7933#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2018-12-23 14:13:36,692 INFO L273 TraceCheckUtils]: 0: Hoare triple {7904#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {7937#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2018-12-23 14:13:36,692 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-23 14:13:36,713 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:13:36,713 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2018-12-23 14:13:36,713 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:13:36,714 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-23 14:13:36,714 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:13:36,714 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:13:36,738 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-23 14:13:36,738 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:13:36,738 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:13:36,738 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=51, Unknown=0, NotChecked=0, Total=90 [2018-12-23 14:13:36,738 INFO L87 Difference]: Start difference. First operand 61 states and 265 transitions. Second operand 8 states. [2018-12-23 14:13:38,413 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:13:38,414 INFO L93 Difference]: Finished difference Result 87 states and 319 transitions. [2018-12-23 14:13:38,414 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-23 14:13:38,414 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-23 14:13:38,414 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:13:38,414 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:13:38,414 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 63 transitions. [2018-12-23 14:13:38,414 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:13:38,415 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 63 transitions. [2018-12-23 14:13:38,415 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 63 transitions. [2018-12-23 14:13:38,544 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-23 14:13:38,546 INFO L225 Difference]: With dead ends: 87 [2018-12-23 14:13:38,546 INFO L226 Difference]: Without dead ends: 86 [2018-12-23 14:13:38,546 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=47, Invalid=63, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:13:38,547 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2018-12-23 14:13:39,590 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 67. [2018-12-23 14:13:39,590 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:13:39,590 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand 67 states. [2018-12-23 14:13:39,591 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand 67 states. [2018-12-23 14:13:39,591 INFO L87 Difference]: Start difference. First operand 86 states. Second operand 67 states. [2018-12-23 14:13:39,592 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:13:39,592 INFO L93 Difference]: Finished difference Result 86 states and 317 transitions. [2018-12-23 14:13:39,593 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 317 transitions. [2018-12-23 14:13:39,593 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:13:39,593 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:13:39,593 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand 86 states. [2018-12-23 14:13:39,593 INFO L87 Difference]: Start difference. First operand 67 states. Second operand 86 states. [2018-12-23 14:13:39,595 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:13:39,595 INFO L93 Difference]: Finished difference Result 86 states and 317 transitions. [2018-12-23 14:13:39,595 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 317 transitions. [2018-12-23 14:13:39,595 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:13:39,595 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:13:39,595 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:13:39,596 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:13:39,596 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 67 states. [2018-12-23 14:13:39,597 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 302 transitions. [2018-12-23 14:13:39,597 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 302 transitions. Word has length 5 [2018-12-23 14:13:39,597 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:13:39,597 INFO L480 AbstractCegarLoop]: Abstraction has 67 states and 302 transitions. [2018-12-23 14:13:39,597 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:13:39,597 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 302 transitions. [2018-12-23 14:13:39,598 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:13:39,598 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:13:39,598 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:13:39,598 INFO L423 AbstractCegarLoop]: === Iteration 32 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:13:39,598 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:13:39,599 INFO L82 PathProgramCache]: Analyzing trace with hash 28822120, now seen corresponding path program 1 times [2018-12-23 14:13:39,599 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:13:39,599 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:13:39,599 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:13:39,600 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:13:39,600 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:13:39,604 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:13:39,772 INFO L273 TraceCheckUtils]: 0: Hoare triple {8362#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {8364#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:13:39,773 INFO L273 TraceCheckUtils]: 1: Hoare triple {8364#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {8364#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:13:39,774 INFO L273 TraceCheckUtils]: 2: Hoare triple {8364#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {8365#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-23 14:13:39,775 INFO L273 TraceCheckUtils]: 3: Hoare triple {8365#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {8366#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:13:39,776 INFO L273 TraceCheckUtils]: 4: Hoare triple {8366#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {8363#false} is VALID [2018-12-23 14:13:39,776 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-23 14:13:39,776 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:13:39,777 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:13:39,777 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:13:39,777 INFO L207 CegarAbsIntRunner]: [0], [6], [14], [24], [25] [2018-12-23 14:13:39,778 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:13:39,778 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:13:39,784 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:13:39,785 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:13:39,785 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:13:39,785 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:13:39,785 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:13:39,785 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 30 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 30 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:13:39,796 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:13:39,797 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:13:39,803 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:13:39,806 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:13:39,806 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:13:39,841 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:13:39,851 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:39,852 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:13:39,867 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:39,869 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:39,870 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:13:39,891 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:39,893 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:39,895 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:39,897 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:13:39,924 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:39,925 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:39,927 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:39,928 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:39,929 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:13:39,936 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:13:39,983 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:40,019 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:40,034 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:40,047 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:40,073 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-23 14:13:40,073 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2018-12-23 14:13:40,082 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:13:40,083 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_159|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_159| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:13:40,083 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:13:40,161 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:40,162 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:40,163 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:40,164 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:40,165 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:40,166 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:40,167 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:40,168 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:40,170 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:40,171 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:40,172 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:40,173 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-23 14:13:40,179 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:13:40,231 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:13:40,231 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-23 14:13:40,248 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:13:40,248 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_160|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_160| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_160| ULTIMATE.start_main_p4) 0) (= (store |v_#memory_int_160| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_160| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_160| ULTIMATE.start_main_p5) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_160| ULTIMATE.start_main_p3) 0))) [2018-12-23 14:13:40,248 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:13:40,328 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:40,329 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:40,331 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:40,332 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:40,333 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:40,334 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:40,336 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:40,337 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:40,338 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:40,339 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:40,341 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:40,342 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:40,342 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:13:40,343 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-23 14:13:40,350 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:13:40,405 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-23 14:13:40,405 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-23 14:13:40,446 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:13:40,446 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_161|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_161| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_161| ULTIMATE.start_main_p4) 0) (= 0 (select |v_#memory_int_161| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_161| ULTIMATE.start_main_p5) 0) (= (store |v_#memory_int_161| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 1 (select |v_#memory_int_161| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= .cse0 0))) [2018-12-23 14:13:40,447 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:13:40,548 INFO L273 TraceCheckUtils]: 0: Hoare triple {8362#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {8370#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:13:40,564 INFO L273 TraceCheckUtils]: 1: Hoare triple {8370#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {8374#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:13:40,567 INFO L273 TraceCheckUtils]: 2: Hoare triple {8374#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {8378#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:13:40,567 INFO L273 TraceCheckUtils]: 3: Hoare triple {8378#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {8378#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:13:40,568 INFO L273 TraceCheckUtils]: 4: Hoare triple {8378#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {8363#false} is VALID [2018-12-23 14:13:40,569 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-23 14:13:40,569 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:13:40,664 INFO L273 TraceCheckUtils]: 4: Hoare triple {8385#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {8363#false} is VALID [2018-12-23 14:13:40,665 INFO L273 TraceCheckUtils]: 3: Hoare triple {8385#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {8385#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:13:40,666 INFO L273 TraceCheckUtils]: 2: Hoare triple {8392#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {8385#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:13:40,668 INFO L273 TraceCheckUtils]: 1: Hoare triple {8396#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {8392#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:13:40,670 INFO L273 TraceCheckUtils]: 0: Hoare triple {8362#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {8396#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:13:40,671 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-23 14:13:40,692 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:13:40,692 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:13:40,692 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:13:40,693 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-23 14:13:40,693 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:13:40,693 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:13:40,710 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-23 14:13:40,710 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:13:40,711 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:13:40,711 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=69, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:13:40,711 INFO L87 Difference]: Start difference. First operand 67 states and 302 transitions. Second operand 8 states. [2018-12-23 14:13:43,397 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:13:43,398 INFO L93 Difference]: Finished difference Result 86 states and 334 transitions. [2018-12-23 14:13:43,398 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-23 14:13:43,398 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-23 14:13:43,398 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:13:43,398 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:13:43,399 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2018-12-23 14:13:43,399 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:13:43,399 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2018-12-23 14:13:43,399 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 54 transitions. [2018-12-23 14:13:43,487 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:13:43,490 INFO L225 Difference]: With dead ends: 86 [2018-12-23 14:13:43,490 INFO L226 Difference]: Without dead ends: 85 [2018-12-23 14:13:43,490 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 2 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=59, Invalid=97, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:13:43,491 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 85 states. [2018-12-23 14:13:44,241 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 85 to 69. [2018-12-23 14:13:44,241 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:13:44,241 INFO L82 GeneralOperation]: Start isEquivalent. First operand 85 states. Second operand 69 states. [2018-12-23 14:13:44,242 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand 69 states. [2018-12-23 14:13:44,242 INFO L87 Difference]: Start difference. First operand 85 states. Second operand 69 states. [2018-12-23 14:13:44,245 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:13:44,245 INFO L93 Difference]: Finished difference Result 85 states and 332 transitions. [2018-12-23 14:13:44,245 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 332 transitions. [2018-12-23 14:13:44,246 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:13:44,246 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:13:44,246 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand 85 states. [2018-12-23 14:13:44,246 INFO L87 Difference]: Start difference. First operand 69 states. Second operand 85 states. [2018-12-23 14:13:44,248 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:13:44,248 INFO L93 Difference]: Finished difference Result 85 states and 332 transitions. [2018-12-23 14:13:44,248 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 332 transitions. [2018-12-23 14:13:44,249 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:13:44,249 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:13:44,249 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:13:44,249 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:13:44,249 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 69 states. [2018-12-23 14:13:44,251 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 314 transitions. [2018-12-23 14:13:44,251 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 314 transitions. Word has length 5 [2018-12-23 14:13:44,251 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:13:44,251 INFO L480 AbstractCegarLoop]: Abstraction has 69 states and 314 transitions. [2018-12-23 14:13:44,252 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:13:44,252 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 314 transitions. [2018-12-23 14:13:44,252 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:13:44,252 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:13:44,252 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:13:44,252 INFO L423 AbstractCegarLoop]: === Iteration 33 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:13:44,252 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:13:44,252 INFO L82 PathProgramCache]: Analyzing trace with hash 28947050, now seen corresponding path program 2 times [2018-12-23 14:13:44,253 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:13:44,253 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:13:44,253 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:13:44,253 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:13:44,253 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:13:44,257 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:13:44,694 WARN L181 SmtUtils]: Spent 252.00 ms on a formula simplification. DAG size of input: 15 DAG size of output: 9 [2018-12-23 14:13:44,891 INFO L273 TraceCheckUtils]: 0: Hoare triple {8827#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {8829#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-23 14:13:44,892 INFO L273 TraceCheckUtils]: 1: Hoare triple {8829#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {8830#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0))} is VALID [2018-12-23 14:13:44,893 INFO L273 TraceCheckUtils]: 2: Hoare triple {8830#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {8831#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:13:44,893 INFO L273 TraceCheckUtils]: 3: Hoare triple {8831#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {8831#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:13:44,894 INFO L273 TraceCheckUtils]: 4: Hoare triple {8831#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {8828#false} is VALID [2018-12-23 14:13:44,894 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-23 14:13:44,894 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:13:44,895 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:13:44,895 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-23 14:13:44,895 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2018-12-23 14:13:44,895 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:13:44,895 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 31 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 31 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:13:44,908 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-23 14:13:44,908 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-23 14:13:44,913 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2018-12-23 14:13:44,913 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-23 14:13:44,916 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:13:44,917 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:13:44,936 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:13:44,959 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:13:44,970 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:44,971 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-23 14:13:44,984 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:44,986 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:44,986 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-23 14:13:45,003 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:45,009 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:45,010 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:45,011 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:13:45,016 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:13:45,038 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:45,051 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:45,063 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:45,075 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:45,097 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-23 14:13:45,098 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:28, output treesize:35 [2018-12-23 14:13:45,107 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:13:45,108 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_164|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (= |#memory_int| (store (store (store (store (store |v_#memory_int_164| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:13:45,108 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:13:45,172 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:45,173 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:45,174 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:45,176 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:45,177 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:45,178 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:45,180 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:45,181 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 51 [2018-12-23 14:13:45,184 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:13:45,218 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-23 14:13:45,218 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2018-12-23 14:13:45,225 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:13:45,225 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_165|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_165| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_165| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_165| ULTIMATE.start_main_p5) 0) (= |#memory_int| (store |v_#memory_int_165| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_165| ULTIMATE.start_main_p3) 0))) [2018-12-23 14:13:45,225 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:13:45,274 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:45,276 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:45,277 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:45,278 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:45,280 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:45,281 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:45,282 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:45,283 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:45,284 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:45,285 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 67 [2018-12-23 14:13:45,289 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:13:45,327 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-23 14:13:45,328 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2018-12-23 14:13:45,357 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:13:45,357 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_166|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_166| ULTIMATE.start_main_p5))) (and (= 0 (select |v_#memory_int_166| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_166| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_166| ULTIMATE.start_main_p5 (+ .cse0 1))) (= (+ (select |v_#memory_int_166| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= .cse0 0))) [2018-12-23 14:13:45,357 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-23 14:13:45,450 INFO L273 TraceCheckUtils]: 0: Hoare triple {8827#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {8835#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:13:45,452 INFO L273 TraceCheckUtils]: 1: Hoare triple {8835#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {8839#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2018-12-23 14:13:45,455 INFO L273 TraceCheckUtils]: 2: Hoare triple {8839#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {8843#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:13:45,456 INFO L273 TraceCheckUtils]: 3: Hoare triple {8843#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {8843#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:13:45,457 INFO L273 TraceCheckUtils]: 4: Hoare triple {8843#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {8828#false} is VALID [2018-12-23 14:13:45,458 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-23 14:13:45,458 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:13:45,489 INFO L273 TraceCheckUtils]: 4: Hoare triple {8831#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {8828#false} is VALID [2018-12-23 14:13:45,490 INFO L273 TraceCheckUtils]: 3: Hoare triple {8831#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {8831#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:13:45,490 INFO L273 TraceCheckUtils]: 2: Hoare triple {8856#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {8831#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:13:45,492 INFO L273 TraceCheckUtils]: 1: Hoare triple {8860#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {8856#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:13:45,494 INFO L273 TraceCheckUtils]: 0: Hoare triple {8827#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {8860#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:13:45,494 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-23 14:13:45,514 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:13:45,515 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2018-12-23 14:13:45,515 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:13:45,515 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-23 14:13:45,515 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:13:45,515 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:13:45,531 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-23 14:13:45,531 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:13:45,532 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:13:45,532 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=51, Unknown=0, NotChecked=0, Total=90 [2018-12-23 14:13:45,532 INFO L87 Difference]: Start difference. First operand 69 states and 314 transitions. Second operand 8 states. [2018-12-23 14:13:48,059 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:13:48,059 INFO L93 Difference]: Finished difference Result 110 states and 397 transitions. [2018-12-23 14:13:48,060 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-23 14:13:48,060 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-23 14:13:48,060 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:13:48,060 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:13:48,060 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 70 transitions. [2018-12-23 14:13:48,061 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:13:48,061 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 70 transitions. [2018-12-23 14:13:48,061 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 70 transitions. [2018-12-23 14:13:48,167 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-23 14:13:48,170 INFO L225 Difference]: With dead ends: 110 [2018-12-23 14:13:48,170 INFO L226 Difference]: Without dead ends: 107 [2018-12-23 14:13:48,170 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=46, Invalid=64, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:13:48,170 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 107 states. [2018-12-23 14:13:49,929 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 107 to 78. [2018-12-23 14:13:49,930 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:13:49,930 INFO L82 GeneralOperation]: Start isEquivalent. First operand 107 states. Second operand 78 states. [2018-12-23 14:13:49,930 INFO L74 IsIncluded]: Start isIncluded. First operand 107 states. Second operand 78 states. [2018-12-23 14:13:49,930 INFO L87 Difference]: Start difference. First operand 107 states. Second operand 78 states. [2018-12-23 14:13:49,934 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:13:49,934 INFO L93 Difference]: Finished difference Result 107 states and 393 transitions. [2018-12-23 14:13:49,934 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 393 transitions. [2018-12-23 14:13:49,935 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:13:49,935 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:13:49,935 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand 107 states. [2018-12-23 14:13:49,935 INFO L87 Difference]: Start difference. First operand 78 states. Second operand 107 states. [2018-12-23 14:13:49,938 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:13:49,938 INFO L93 Difference]: Finished difference Result 107 states and 393 transitions. [2018-12-23 14:13:49,938 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 393 transitions. [2018-12-23 14:13:49,939 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:13:49,939 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:13:49,939 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:13:49,939 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:13:49,939 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 78 states. [2018-12-23 14:13:49,941 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 360 transitions. [2018-12-23 14:13:49,941 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 360 transitions. Word has length 5 [2018-12-23 14:13:49,941 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:13:49,941 INFO L480 AbstractCegarLoop]: Abstraction has 78 states and 360 transitions. [2018-12-23 14:13:49,942 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:13:49,942 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 360 transitions. [2018-12-23 14:13:49,942 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:13:49,942 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:13:49,942 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:13:49,942 INFO L423 AbstractCegarLoop]: === Iteration 34 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:13:49,942 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:13:49,942 INFO L82 PathProgramCache]: Analyzing trace with hash 28950958, now seen corresponding path program 1 times [2018-12-23 14:13:49,943 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:13:49,943 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:13:49,943 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-23 14:13:49,943 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:13:49,944 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:13:49,947 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:13:50,078 INFO L273 TraceCheckUtils]: 0: Hoare triple {9381#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {9383#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:13:50,079 INFO L273 TraceCheckUtils]: 1: Hoare triple {9383#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9384#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-23 14:13:50,080 INFO L273 TraceCheckUtils]: 2: Hoare triple {9384#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p1] >= 0; {9384#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-23 14:13:50,080 INFO L273 TraceCheckUtils]: 3: Hoare triple {9384#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p2] <= 0; {9384#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-23 14:13:50,081 INFO L273 TraceCheckUtils]: 4: Hoare triple {9384#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {9382#false} is VALID [2018-12-23 14:13:50,081 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-23 14:13:50,081 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:13:50,081 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:13:50,082 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:13:50,082 INFO L207 CegarAbsIntRunner]: [0], [10], [24], [26], [27] [2018-12-23 14:13:50,083 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:13:50,083 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:13:50,095 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:13:50,095 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-23 14:13:50,095 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:13:50,095 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:13:50,095 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:13:50,095 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 32 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 32 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:13:50,103 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:13:50,104 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:13:50,108 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:13:50,114 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:13:50,114 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:13:50,149 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:13:50,164 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:13:50,183 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:50,184 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-23 14:13:50,208 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:50,209 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:50,210 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-23 14:13:50,236 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:50,242 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:50,243 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:50,244 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:13:50,255 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:13:50,278 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:50,292 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:50,306 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:50,320 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:50,345 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:13:50,345 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:28, output treesize:35 [2018-12-23 14:13:50,355 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:13:50,355 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_169|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_169| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:13:50,355 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:13:50,446 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:50,447 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:50,449 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:50,450 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:50,451 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:50,453 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:50,454 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:50,455 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 51 [2018-12-23 14:13:50,462 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:13:50,497 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-23 14:13:50,498 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2018-12-23 14:13:50,535 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:13:50,535 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_170|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_170| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (select |v_#memory_int_170| ULTIMATE.start_main_p4) 0) (= |#memory_int| (store |v_#memory_int_170| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_170| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |v_#memory_int_170| ULTIMATE.start_main_p5)))) [2018-12-23 14:13:50,535 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:13:50,658 INFO L273 TraceCheckUtils]: 0: Hoare triple {9381#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {9388#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:13:50,660 INFO L273 TraceCheckUtils]: 1: Hoare triple {9388#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9392#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:13:50,661 INFO L273 TraceCheckUtils]: 2: Hoare triple {9392#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p1] >= 0; {9392#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:13:50,662 INFO L273 TraceCheckUtils]: 3: Hoare triple {9392#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p2] <= 0; {9392#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:13:50,663 INFO L273 TraceCheckUtils]: 4: Hoare triple {9392#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume !(#memory_int[main_p3] >= 0); {9382#false} is VALID [2018-12-23 14:13:50,664 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-23 14:13:50,664 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:13:50,693 INFO L273 TraceCheckUtils]: 4: Hoare triple {9402#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {9382#false} is VALID [2018-12-23 14:13:50,694 INFO L273 TraceCheckUtils]: 3: Hoare triple {9402#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {9402#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:13:50,694 INFO L273 TraceCheckUtils]: 2: Hoare triple {9402#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {9402#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:13:50,695 INFO L273 TraceCheckUtils]: 1: Hoare triple {9412#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9402#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:13:50,697 INFO L273 TraceCheckUtils]: 0: Hoare triple {9381#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {9412#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:13:50,698 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-23 14:13:50,717 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:13:50,717 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-23 14:13:50,718 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:13:50,718 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 5 [2018-12-23 14:13:50,718 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:13:50,718 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-23 14:13:50,734 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-23 14:13:50,734 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-23 14:13:50,734 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-23 14:13:50,735 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-23 14:13:50,735 INFO L87 Difference]: Start difference. First operand 78 states and 360 transitions. Second operand 6 states. [2018-12-23 14:13:52,262 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:13:52,263 INFO L93 Difference]: Finished difference Result 87 states and 367 transitions. [2018-12-23 14:13:52,263 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-12-23 14:13:52,263 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 5 [2018-12-23 14:13:52,263 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:13:52,263 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-23 14:13:52,264 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2018-12-23 14:13:52,264 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-23 14:13:52,264 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2018-12-23 14:13:52,264 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 42 transitions. [2018-12-23 14:13:52,319 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:13:52,321 INFO L225 Difference]: With dead ends: 87 [2018-12-23 14:13:52,321 INFO L226 Difference]: Without dead ends: 86 [2018-12-23 14:13:52,322 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2018-12-23 14:13:52,322 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2018-12-23 14:13:53,786 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 76. [2018-12-23 14:13:53,786 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:13:53,786 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand 76 states. [2018-12-23 14:13:53,786 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand 76 states. [2018-12-23 14:13:53,786 INFO L87 Difference]: Start difference. First operand 86 states. Second operand 76 states. [2018-12-23 14:13:53,789 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:13:53,789 INFO L93 Difference]: Finished difference Result 86 states and 365 transitions. [2018-12-23 14:13:53,789 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 365 transitions. [2018-12-23 14:13:53,789 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:13:53,790 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:13:53,790 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 86 states. [2018-12-23 14:13:53,790 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 86 states. [2018-12-23 14:13:53,792 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:13:53,792 INFO L93 Difference]: Finished difference Result 86 states and 365 transitions. [2018-12-23 14:13:53,793 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 365 transitions. [2018-12-23 14:13:53,793 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:13:53,793 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:13:53,793 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:13:53,793 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:13:53,793 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 76 states. [2018-12-23 14:13:53,796 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 357 transitions. [2018-12-23 14:13:53,796 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 357 transitions. Word has length 5 [2018-12-23 14:13:53,796 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:13:53,796 INFO L480 AbstractCegarLoop]: Abstraction has 76 states and 357 transitions. [2018-12-23 14:13:53,796 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-23 14:13:53,796 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 357 transitions. [2018-12-23 14:13:53,797 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:13:53,797 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:13:53,797 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:13:53,797 INFO L423 AbstractCegarLoop]: === Iteration 35 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:13:53,797 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:13:53,797 INFO L82 PathProgramCache]: Analyzing trace with hash 29052324, now seen corresponding path program 1 times [2018-12-23 14:13:53,797 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:13:53,798 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:13:53,798 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:13:53,798 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:13:53,798 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:13:53,801 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:13:53,980 INFO L273 TraceCheckUtils]: 0: Hoare triple {9864#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {9866#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:13:53,981 INFO L273 TraceCheckUtils]: 1: Hoare triple {9866#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {9867#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-23 14:13:53,982 INFO L273 TraceCheckUtils]: 2: Hoare triple {9867#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {9868#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:13:53,983 INFO L273 TraceCheckUtils]: 3: Hoare triple {9868#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9869#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:13:53,984 INFO L273 TraceCheckUtils]: 4: Hoare triple {9869#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {9865#false} is VALID [2018-12-23 14:13:53,984 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-23 14:13:53,984 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:13:53,984 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:13:53,985 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:13:53,985 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [14], [23] [2018-12-23 14:13:53,986 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:13:53,986 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:13:53,994 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:13:53,994 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-23 14:13:53,994 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:13:53,994 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:13:53,995 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:13:53,995 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 33 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 33 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:13:54,004 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:13:54,005 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:13:54,009 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:13:54,013 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:13:54,014 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:13:54,064 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:13:54,074 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:54,075 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:13:54,090 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:54,091 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:54,092 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:13:54,114 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:54,115 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:54,117 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:54,118 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:13:54,146 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:54,147 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:54,149 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:54,150 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:54,151 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:13:54,159 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:13:54,191 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:54,209 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:54,224 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:54,238 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:13:54,263 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-23 14:13:54,263 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2018-12-23 14:13:54,272 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:13:54,273 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_172|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store (store (store (store (store |v_#memory_int_172| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0))) [2018-12-23 14:13:54,273 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:13:54,363 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:54,364 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:54,364 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:54,365 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:54,406 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:54,428 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:54,451 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:54,460 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:54,461 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:54,462 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:54,462 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:54,463 INFO L303 Elim1Store]: Index analysis took 102 ms [2018-12-23 14:13:54,463 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-23 14:13:54,470 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:13:54,521 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-23 14:13:54,522 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-23 14:13:56,534 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:13:56,535 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_173|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_173| ULTIMATE.start_main_p3))) (and (= 0 (select |v_#memory_int_173| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_173| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_173| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_173| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_173| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 .cse0))) [2018-12-23 14:13:56,535 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:13:56,633 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:56,635 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:56,636 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:56,637 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:56,638 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:56,640 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:56,641 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:56,642 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:56,643 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:56,645 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:56,646 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:56,647 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:56,647 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:13:56,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 80 [2018-12-23 14:13:56,657 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:13:56,714 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-23 14:13:56,714 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-23 14:13:56,725 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:13:56,725 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_174|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_174| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (store |v_#memory_int_174| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_174| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_174| ULTIMATE.start_main_p3) 1) (= 0 (select |v_#memory_int_174| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_174| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:13:56,725 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:13:56,814 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:56,816 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:56,817 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:56,819 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:56,820 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:56,822 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:56,823 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:56,824 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:56,826 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:56,827 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:56,828 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:56,829 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:56,831 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:13:56,832 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-23 14:13:56,838 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:13:56,895 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-23 14:13:56,896 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-23 14:13:56,923 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:13:56,923 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_175|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_175| ULTIMATE.start_main_p2))) (and (= 1 (select |v_#memory_int_175| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= |#memory_int| (store |v_#memory_int_175| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 1 (select |v_#memory_int_175| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_175| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_175| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:13:56,923 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:13:56,982 INFO L273 TraceCheckUtils]: 0: Hoare triple {9864#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {9873#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:13:56,985 INFO L273 TraceCheckUtils]: 1: Hoare triple {9873#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {9877#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:13:56,988 INFO L273 TraceCheckUtils]: 2: Hoare triple {9877#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {9881#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:13:56,993 INFO L273 TraceCheckUtils]: 3: Hoare triple {9881#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9885#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2018-12-23 14:13:56,994 INFO L273 TraceCheckUtils]: 4: Hoare triple {9885#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {9865#false} is VALID [2018-12-23 14:13:56,994 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-23 14:13:56,994 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:13:57,068 INFO L273 TraceCheckUtils]: 4: Hoare triple {9889#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {9865#false} is VALID [2018-12-23 14:13:57,069 INFO L273 TraceCheckUtils]: 3: Hoare triple {9893#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9889#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:13:57,070 INFO L273 TraceCheckUtils]: 2: Hoare triple {9897#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {9893#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:13:57,072 INFO L273 TraceCheckUtils]: 1: Hoare triple {9901#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {9897#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:13:57,074 INFO L273 TraceCheckUtils]: 0: Hoare triple {9864#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {9901#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:13:57,075 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 5 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:13:57,095 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:13:57,095 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-23 14:13:57,095 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:13:57,095 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:13:57,095 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:13:57,095 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-23 14:13:57,112 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-23 14:13:57,112 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-23 14:13:57,112 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-23 14:13:57,112 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2018-12-23 14:13:57,113 INFO L87 Difference]: Start difference. First operand 76 states and 357 transitions. Second operand 10 states. [2018-12-23 14:14:01,109 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:14:01,109 INFO L93 Difference]: Finished difference Result 133 states and 461 transitions. [2018-12-23 14:14:01,109 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-23 14:14:01,109 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:14:01,109 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:14:01,109 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:14:01,110 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 83 transitions. [2018-12-23 14:14:01,110 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:14:01,110 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 83 transitions. [2018-12-23 14:14:01,111 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 83 transitions. [2018-12-23 14:14:01,303 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:14:01,306 INFO L225 Difference]: With dead ends: 133 [2018-12-23 14:14:01,306 INFO L226 Difference]: Without dead ends: 132 [2018-12-23 14:14:01,306 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=89, Invalid=151, Unknown=0, NotChecked=0, Total=240 [2018-12-23 14:14:01,306 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2018-12-23 14:14:02,295 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 75. [2018-12-23 14:14:02,295 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:14:02,295 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand 75 states. [2018-12-23 14:14:02,295 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand 75 states. [2018-12-23 14:14:02,295 INFO L87 Difference]: Start difference. First operand 132 states. Second operand 75 states. [2018-12-23 14:14:02,299 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:14:02,300 INFO L93 Difference]: Finished difference Result 132 states and 459 transitions. [2018-12-23 14:14:02,300 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 459 transitions. [2018-12-23 14:14:02,300 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:14:02,300 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:14:02,300 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand 132 states. [2018-12-23 14:14:02,301 INFO L87 Difference]: Start difference. First operand 75 states. Second operand 132 states. [2018-12-23 14:14:02,304 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:14:02,304 INFO L93 Difference]: Finished difference Result 132 states and 459 transitions. [2018-12-23 14:14:02,304 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 459 transitions. [2018-12-23 14:14:02,305 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:14:02,305 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:14:02,305 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:14:02,305 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:14:02,305 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 75 states. [2018-12-23 14:14:02,307 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 351 transitions. [2018-12-23 14:14:02,307 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 351 transitions. Word has length 5 [2018-12-23 14:14:02,307 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:14:02,307 INFO L480 AbstractCegarLoop]: Abstraction has 75 states and 351 transitions. [2018-12-23 14:14:02,307 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-23 14:14:02,307 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 351 transitions. [2018-12-23 14:14:02,307 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:14:02,307 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:14:02,308 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:14:02,308 INFO L423 AbstractCegarLoop]: === Iteration 36 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:14:02,308 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:14:02,308 INFO L82 PathProgramCache]: Analyzing trace with hash 29056604, now seen corresponding path program 1 times [2018-12-23 14:14:02,308 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:14:02,309 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:14:02,309 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:14:02,309 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:14:02,309 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:14:02,313 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:14:02,379 INFO L273 TraceCheckUtils]: 0: Hoare triple {10501#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {10503#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:14:02,380 INFO L273 TraceCheckUtils]: 1: Hoare triple {10503#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {10504#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:14:02,381 INFO L273 TraceCheckUtils]: 2: Hoare triple {10504#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {10505#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-23 14:14:02,381 INFO L273 TraceCheckUtils]: 3: Hoare triple {10505#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume #memory_int[main_p1] >= 0; {10505#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-23 14:14:02,382 INFO L273 TraceCheckUtils]: 4: Hoare triple {10505#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {10502#false} is VALID [2018-12-23 14:14:02,382 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-23 14:14:02,383 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:14:02,383 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:14:02,383 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:14:02,383 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [24], [25] [2018-12-23 14:14:02,384 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:14:02,384 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:14:02,407 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:14:02,407 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:14:02,407 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:14:02,408 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:14:02,408 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:14:02,408 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 34 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 34 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:14:02,416 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:14:02,416 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:14:02,420 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:14:02,424 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:14:02,425 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:14:02,447 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:14:02,455 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:14:02,470 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:02,471 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-23 14:14:02,487 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:02,489 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:02,490 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-23 14:14:02,507 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:02,511 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:02,513 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:02,514 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:14:02,518 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:14:02,540 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:14:02,554 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:14:02,566 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:14:02,578 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:14:02,599 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:14:02,600 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:28, output treesize:35 [2018-12-23 14:14:02,612 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:14:02,613 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_179|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_179| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:14:02,613 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:14:02,682 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:02,683 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:02,685 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:02,689 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:02,690 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:02,690 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:02,691 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:02,692 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 51 [2018-12-23 14:14:02,696 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:14:02,728 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-23 14:14:02,728 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2018-12-23 14:14:04,743 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:14:04,744 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_180|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_180| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_180| ULTIMATE.start_main_p2) 0) (= |#memory_int| (store |v_#memory_int_180| ULTIMATE.start_main_p3 (+ .cse0 1))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 0 (select |v_#memory_int_180| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_180| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:14:04,744 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:14:04,805 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:04,806 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:04,808 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:04,809 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:04,819 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:04,845 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:04,863 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:04,886 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:04,910 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:04,910 INFO L303 Elim1Store]: Index analysis took 108 ms [2018-12-23 14:14:04,911 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 65 [2018-12-23 14:14:04,935 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:14:04,974 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-23 14:14:04,974 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2018-12-23 14:14:04,987 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:14:04,987 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_181|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_181| ULTIMATE.start_main_p2))) (and (= 1 (select |v_#memory_int_181| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 .cse0) (= (select |v_#memory_int_181| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_181| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store |v_#memory_int_181| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))))) [2018-12-23 14:14:04,987 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:14:05,050 INFO L273 TraceCheckUtils]: 0: Hoare triple {10501#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {10509#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:14:05,053 INFO L273 TraceCheckUtils]: 1: Hoare triple {10509#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {10513#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:14:05,056 INFO L273 TraceCheckUtils]: 2: Hoare triple {10513#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {10517#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2018-12-23 14:14:05,057 INFO L273 TraceCheckUtils]: 3: Hoare triple {10517#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume #memory_int[main_p1] >= 0; {10517#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2018-12-23 14:14:05,058 INFO L273 TraceCheckUtils]: 4: Hoare triple {10517#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume !(#memory_int[main_p2] <= 0); {10502#false} is VALID [2018-12-23 14:14:05,059 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-23 14:14:05,059 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:14:05,097 INFO L273 TraceCheckUtils]: 4: Hoare triple {10524#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {10502#false} is VALID [2018-12-23 14:14:05,097 INFO L273 TraceCheckUtils]: 3: Hoare triple {10524#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {10524#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:14:05,098 INFO L273 TraceCheckUtils]: 2: Hoare triple {10531#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {10524#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:14:05,099 INFO L273 TraceCheckUtils]: 1: Hoare triple {10535#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {10531#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2018-12-23 14:14:05,101 INFO L273 TraceCheckUtils]: 0: Hoare triple {10501#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {10535#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2018-12-23 14:14:05,102 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-23 14:14:05,122 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:14:05,122 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:14:05,122 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:14:05,123 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-23 14:14:05,123 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:14:05,123 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:14:05,141 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:14:05,141 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:14:05,141 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:14:05,142 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=65, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:14:05,142 INFO L87 Difference]: Start difference. First operand 75 states and 351 transitions. Second operand 8 states. [2018-12-23 14:14:07,487 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:14:07,487 INFO L93 Difference]: Finished difference Result 113 states and 411 transitions. [2018-12-23 14:14:07,487 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-23 14:14:07,487 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-23 14:14:07,487 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:14:07,487 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:14:07,488 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 68 transitions. [2018-12-23 14:14:07,488 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:14:07,488 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 68 transitions. [2018-12-23 14:14:07,488 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 68 transitions. [2018-12-23 14:14:07,591 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-23 14:14:07,594 INFO L225 Difference]: With dead ends: 113 [2018-12-23 14:14:07,595 INFO L226 Difference]: Without dead ends: 112 [2018-12-23 14:14:07,595 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=53, Invalid=79, Unknown=0, NotChecked=0, Total=132 [2018-12-23 14:14:07,595 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 112 states. [2018-12-23 14:14:08,953 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 112 to 77. [2018-12-23 14:14:08,953 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:14:08,954 INFO L82 GeneralOperation]: Start isEquivalent. First operand 112 states. Second operand 77 states. [2018-12-23 14:14:08,954 INFO L74 IsIncluded]: Start isIncluded. First operand 112 states. Second operand 77 states. [2018-12-23 14:14:08,954 INFO L87 Difference]: Start difference. First operand 112 states. Second operand 77 states. [2018-12-23 14:14:08,957 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:14:08,957 INFO L93 Difference]: Finished difference Result 112 states and 409 transitions. [2018-12-23 14:14:08,957 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 409 transitions. [2018-12-23 14:14:08,957 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:14:08,957 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:14:08,958 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 112 states. [2018-12-23 14:14:08,958 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 112 states. [2018-12-23 14:14:08,961 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:14:08,961 INFO L93 Difference]: Finished difference Result 112 states and 409 transitions. [2018-12-23 14:14:08,961 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 409 transitions. [2018-12-23 14:14:08,961 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:14:08,961 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:14:08,962 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:14:08,962 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:14:08,962 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2018-12-23 14:14:08,964 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 363 transitions. [2018-12-23 14:14:08,964 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 363 transitions. Word has length 5 [2018-12-23 14:14:08,964 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:14:08,964 INFO L480 AbstractCegarLoop]: Abstraction has 77 states and 363 transitions. [2018-12-23 14:14:08,965 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:14:08,965 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 363 transitions. [2018-12-23 14:14:08,965 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:14:08,965 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:14:08,965 INFO L402 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1] [2018-12-23 14:14:08,966 INFO L423 AbstractCegarLoop]: === Iteration 37 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:14:08,966 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:14:08,966 INFO L82 PathProgramCache]: Analyzing trace with hash 904669396, now seen corresponding path program 2 times [2018-12-23 14:14:08,966 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:14:08,967 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:14:08,967 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:14:08,967 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:14:08,967 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:14:08,970 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:14:09,155 INFO L273 TraceCheckUtils]: 0: Hoare triple {11071#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {11073#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:14:09,156 INFO L273 TraceCheckUtils]: 1: Hoare triple {11073#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11073#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:14:09,157 INFO L273 TraceCheckUtils]: 2: Hoare triple {11073#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11074#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-23 14:14:09,158 INFO L273 TraceCheckUtils]: 3: Hoare triple {11074#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {11075#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:14:09,158 INFO L273 TraceCheckUtils]: 4: Hoare triple {11075#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {11076#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:14:09,159 INFO L273 TraceCheckUtils]: 5: Hoare triple {11076#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {11072#false} is VALID [2018-12-23 14:14:09,159 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-23 14:14:09,160 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:14:09,160 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:14:09,160 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-23 14:14:09,160 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2018-12-23 14:14:09,160 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:14:09,160 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 35 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 35 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:14:09,170 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-23 14:14:09,170 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-23 14:14:09,177 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-12-23 14:14:09,177 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-23 14:14:09,185 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:14:09,188 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:14:09,210 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:14:09,234 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:09,234 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:14:09,246 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:09,247 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:09,249 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:14:09,284 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:09,285 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:09,286 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:09,287 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:14:09,310 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:09,312 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:09,313 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:09,314 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:09,315 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:14:09,319 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:14:09,350 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:14:09,368 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:14:09,392 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:14:09,419 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:14:09,442 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-23 14:14:09,443 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2018-12-23 14:14:09,450 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:14:09,450 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_184|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_184| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:14:09,451 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:14:09,519 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:09,520 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:09,522 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:09,523 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:09,524 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:09,526 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:09,527 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:09,528 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:09,529 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:09,531 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:09,532 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:09,533 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-23 14:14:09,539 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:14:09,587 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-23 14:14:09,588 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-23 14:14:09,597 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:14:09,598 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_185|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_185| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_185| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_185| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_185| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_185| ULTIMATE.start_main_p1) 0) (= (store |v_#memory_int_185| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= .cse0 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:14:09,598 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:14:09,675 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:09,677 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:09,678 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:09,679 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:09,681 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:09,682 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:09,683 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:09,685 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:09,686 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:09,687 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:09,688 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:09,690 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:09,691 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:09,692 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 78 [2018-12-23 14:14:09,697 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:14:09,752 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-23 14:14:09,752 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:38 [2018-12-23 14:14:11,776 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:14:11,777 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_186|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_186| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_186| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_186| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_186| ULTIMATE.start_main_p3) 0) (= (+ .cse0 1) 0) (= (store |v_#memory_int_186| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_186| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:14:11,777 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:14:11,862 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:11,863 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:11,864 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:11,866 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:11,867 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:11,868 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:11,869 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:11,870 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:11,872 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:11,873 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:11,874 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:11,875 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:11,876 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:11,877 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-23 14:14:11,881 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:14:11,930 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-23 14:14:11,931 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2018-12-23 14:14:11,940 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:14:11,940 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_187|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_187| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_187| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_187| ULTIMATE.start_main_p5)) (= (+ (select |v_#memory_int_187| ULTIMATE.start_main_p4) 2) 0) (= (select |v_#memory_int_187| ULTIMATE.start_main_p3) 0) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_187| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:14:11,940 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0)) [2018-12-23 14:14:12,016 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:12,017 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:12,018 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:12,019 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:12,020 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:12,022 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:12,023 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:12,024 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:12,025 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:12,026 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:12,027 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:12,028 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:12,030 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:12,031 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:12,032 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:12,033 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:12,034 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 16 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 110 [2018-12-23 14:14:12,038 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:14:12,099 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-23 14:14:12,099 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2018-12-23 14:14:14,229 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:14:14,230 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_188|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_188| ULTIMATE.start_main_p2))) (and (= (store |v_#memory_int_188| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_188| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_188| ULTIMATE.start_main_p3)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |v_#memory_int_188| ULTIMATE.start_main_p4) 2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_188| ULTIMATE.start_main_p5)))) [2018-12-23 14:14:14,230 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0)) [2018-12-23 14:14:14,322 INFO L273 TraceCheckUtils]: 0: Hoare triple {11071#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {11080#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:14:14,325 INFO L273 TraceCheckUtils]: 1: Hoare triple {11080#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11084#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:14:14,329 INFO L273 TraceCheckUtils]: 2: Hoare triple {11084#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11088#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:14:14,333 INFO L273 TraceCheckUtils]: 3: Hoare triple {11088#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {11092#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:14:14,340 INFO L273 TraceCheckUtils]: 4: Hoare triple {11092#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {11096#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))))} is VALID [2018-12-23 14:14:14,341 INFO L273 TraceCheckUtils]: 5: Hoare triple {11096#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))))} assume !(#memory_int[main_p1] >= 0); {11072#false} is VALID [2018-12-23 14:14:14,341 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:14:14,341 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:14:14,431 INFO L273 TraceCheckUtils]: 5: Hoare triple {11100#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {11072#false} is VALID [2018-12-23 14:14:14,432 INFO L273 TraceCheckUtils]: 4: Hoare triple {11104#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {11100#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:14:14,433 INFO L273 TraceCheckUtils]: 3: Hoare triple {11108#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {11104#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:14:14,435 INFO L273 TraceCheckUtils]: 2: Hoare triple {11112#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11108#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:14:14,437 INFO L273 TraceCheckUtils]: 1: Hoare triple {11116#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11112#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:14:14,439 INFO L273 TraceCheckUtils]: 0: Hoare triple {11071#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {11116#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:14:14,439 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 3 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:14:14,459 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:14:14,460 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 5, 5] total 14 [2018-12-23 14:14:14,460 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:14:14,460 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 6 [2018-12-23 14:14:14,460 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:14:14,460 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2018-12-23 14:14:14,484 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:14:14,484 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-12-23 14:14:14,484 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-12-23 14:14:14,484 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=87, Invalid=153, Unknown=0, NotChecked=0, Total=240 [2018-12-23 14:14:14,485 INFO L87 Difference]: Start difference. First operand 77 states and 363 transitions. Second operand 11 states. [2018-12-23 14:14:19,640 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:14:19,640 INFO L93 Difference]: Finished difference Result 136 states and 478 transitions. [2018-12-23 14:14:19,640 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-23 14:14:19,641 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 6 [2018-12-23 14:14:19,641 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:14:19,641 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-12-23 14:14:19,641 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 92 transitions. [2018-12-23 14:14:19,641 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-12-23 14:14:19,642 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 92 transitions. [2018-12-23 14:14:19,642 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 92 transitions. [2018-12-23 14:14:19,862 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-23 14:14:19,865 INFO L225 Difference]: With dead ends: 136 [2018-12-23 14:14:19,866 INFO L226 Difference]: Without dead ends: 131 [2018-12-23 14:14:19,866 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 87 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=107, Invalid=199, Unknown=0, NotChecked=0, Total=306 [2018-12-23 14:14:19,866 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states. [2018-12-23 14:14:21,151 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 77. [2018-12-23 14:14:21,151 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:14:21,151 INFO L82 GeneralOperation]: Start isEquivalent. First operand 131 states. Second operand 77 states. [2018-12-23 14:14:21,151 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand 77 states. [2018-12-23 14:14:21,151 INFO L87 Difference]: Start difference. First operand 131 states. Second operand 77 states. [2018-12-23 14:14:21,156 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:14:21,156 INFO L93 Difference]: Finished difference Result 131 states and 472 transitions. [2018-12-23 14:14:21,156 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 472 transitions. [2018-12-23 14:14:21,156 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:14:21,156 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:14:21,156 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 131 states. [2018-12-23 14:14:21,157 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 131 states. [2018-12-23 14:14:21,160 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:14:21,160 INFO L93 Difference]: Finished difference Result 131 states and 472 transitions. [2018-12-23 14:14:21,160 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 472 transitions. [2018-12-23 14:14:21,161 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:14:21,161 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:14:21,161 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:14:21,161 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:14:21,161 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2018-12-23 14:14:21,163 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 362 transitions. [2018-12-23 14:14:21,163 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 362 transitions. Word has length 6 [2018-12-23 14:14:21,164 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:14:21,164 INFO L480 AbstractCegarLoop]: Abstraction has 77 states and 362 transitions. [2018-12-23 14:14:21,164 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-12-23 14:14:21,164 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 362 transitions. [2018-12-23 14:14:21,164 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:14:21,164 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:14:21,164 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:14:21,165 INFO L423 AbstractCegarLoop]: === Iteration 38 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:14:21,165 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:14:21,165 INFO L82 PathProgramCache]: Analyzing trace with hash 904729414, now seen corresponding path program 1 times [2018-12-23 14:14:21,165 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:14:21,166 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:14:21,166 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-23 14:14:21,166 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:14:21,166 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:14:21,169 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:14:21,375 INFO L273 TraceCheckUtils]: 0: Hoare triple {11724#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {11726#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:14:21,377 INFO L273 TraceCheckUtils]: 1: Hoare triple {11726#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11727#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:14:21,378 INFO L273 TraceCheckUtils]: 2: Hoare triple {11727#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {11728#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:14:21,379 INFO L273 TraceCheckUtils]: 3: Hoare triple {11728#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {11729#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:14:21,379 INFO L273 TraceCheckUtils]: 4: Hoare triple {11729#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {11729#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:14:21,380 INFO L273 TraceCheckUtils]: 5: Hoare triple {11729#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {11725#false} is VALID [2018-12-23 14:14:21,380 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:14:21,380 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:14:21,381 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:14:21,381 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-23 14:14:21,381 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [20], [24], [25] [2018-12-23 14:14:21,382 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:14:21,382 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:14:21,394 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:14:21,394 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-23 14:14:21,395 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:14:21,395 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:14:21,395 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:14:21,395 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 36 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 36 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:14:21,405 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:14:21,405 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:14:21,410 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:14:21,416 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:14:21,416 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:14:21,448 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:14:21,458 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:21,459 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:14:21,470 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:21,472 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:21,473 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:14:21,486 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:21,488 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:21,490 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:21,490 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:14:21,599 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:21,601 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:21,602 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:21,604 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:21,605 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:14:21,608 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:14:21,639 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:14:21,655 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:14:21,668 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:14:21,680 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:14:21,701 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:14:21,701 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2018-12-23 14:14:21,710 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:14:21,710 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_193|, ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store (store (store (store (store |v_#memory_int_193| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:14:21,711 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:14:21,768 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:21,770 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:21,771 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:21,773 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:21,774 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:21,775 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:21,777 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:21,778 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:21,779 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:21,780 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:21,782 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:21,783 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-23 14:14:21,786 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:14:21,979 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-23 14:14:21,979 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-23 14:14:22,692 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:14:22,693 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_194|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_194| ULTIMATE.start_main_p4))) (and (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_194| ULTIMATE.start_main_p5) 0) (= 0 (select |v_#memory_int_194| ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_194| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_194| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_194| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:14:22,693 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:14:22,757 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:22,759 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:22,760 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:22,762 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:22,763 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:22,764 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:22,766 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:22,767 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:22,768 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:22,770 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:22,771 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:22,772 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:22,773 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:22,774 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-23 14:14:22,778 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:14:22,825 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-23 14:14:22,826 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2018-12-23 14:14:23,774 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:14:23,775 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_195|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_195| ULTIMATE.start_main_p5))) (and (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_195| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_195| ULTIMATE.start_main_p1)) (= 0 (+ (select |v_#memory_int_195| ULTIMATE.start_main_p4) 1)) (= |#memory_int| (store |v_#memory_int_195| ULTIMATE.start_main_p5 (+ .cse0 1))) (= (select |v_#memory_int_195| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:14:23,775 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:14:23,917 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:23,919 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:23,921 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:23,923 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:23,925 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:23,927 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:23,929 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:23,931 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:23,932 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:23,933 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:23,935 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:23,937 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:23,939 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:23,941 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:23,944 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:14:23,944 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 94 [2018-12-23 14:14:23,952 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:14:24,007 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-23 14:14:24,008 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2018-12-23 14:14:24,044 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:14:24,044 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_196|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_196| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_196| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_196| ULTIMATE.start_main_p4) 1) 0) (= .cse0 0) (= 0 (select |v_#memory_int_196| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_196| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_196| ULTIMATE.start_main_p1 (+ .cse0 1))))) [2018-12-23 14:14:24,044 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:14:24,100 INFO L273 TraceCheckUtils]: 0: Hoare triple {11724#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {11733#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:14:24,103 INFO L273 TraceCheckUtils]: 1: Hoare triple {11733#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11737#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2018-12-23 14:14:24,107 INFO L273 TraceCheckUtils]: 2: Hoare triple {11737#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {11741#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:14:24,110 INFO L273 TraceCheckUtils]: 3: Hoare triple {11741#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {11745#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:14:24,110 INFO L273 TraceCheckUtils]: 4: Hoare triple {11745#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {11745#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:14:24,111 INFO L273 TraceCheckUtils]: 5: Hoare triple {11745#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {11725#false} is VALID [2018-12-23 14:14:24,112 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-23 14:14:24,112 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:14:24,183 INFO L273 TraceCheckUtils]: 5: Hoare triple {11752#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {11725#false} is VALID [2018-12-23 14:14:24,184 INFO L273 TraceCheckUtils]: 4: Hoare triple {11752#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {11752#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:14:24,185 INFO L273 TraceCheckUtils]: 3: Hoare triple {11759#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {11752#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:14:24,186 INFO L273 TraceCheckUtils]: 2: Hoare triple {11763#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {11759#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:14:24,187 INFO L273 TraceCheckUtils]: 1: Hoare triple {11767#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11763#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:14:24,189 INFO L273 TraceCheckUtils]: 0: Hoare triple {11724#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {11767#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:14:24,189 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-23 14:14:24,209 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:14:24,210 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-23 14:14:24,210 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:14:24,210 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-23 14:14:24,210 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:14:24,210 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-23 14:14:24,234 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:14:24,234 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-23 14:14:24,234 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-23 14:14:24,234 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=115, Unknown=0, NotChecked=0, Total=182 [2018-12-23 14:14:24,235 INFO L87 Difference]: Start difference. First operand 77 states and 362 transitions. Second operand 10 states. [2018-12-23 14:14:26,678 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:14:26,678 INFO L93 Difference]: Finished difference Result 106 states and 409 transitions. [2018-12-23 14:14:26,678 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-23 14:14:26,678 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-23 14:14:26,679 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:14:26,679 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:14:26,679 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 63 transitions. [2018-12-23 14:14:26,679 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:14:26,679 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 63 transitions. [2018-12-23 14:14:26,679 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 63 transitions. [2018-12-23 14:14:26,799 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-23 14:14:26,801 INFO L225 Difference]: With dead ends: 106 [2018-12-23 14:14:26,801 INFO L226 Difference]: Without dead ends: 105 [2018-12-23 14:14:26,802 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=100, Invalid=172, Unknown=0, NotChecked=0, Total=272 [2018-12-23 14:14:26,802 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 105 states. [2018-12-23 14:14:28,627 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 105 to 77. [2018-12-23 14:14:28,627 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:14:28,628 INFO L82 GeneralOperation]: Start isEquivalent. First operand 105 states. Second operand 77 states. [2018-12-23 14:14:28,628 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand 77 states. [2018-12-23 14:14:28,628 INFO L87 Difference]: Start difference. First operand 105 states. Second operand 77 states. [2018-12-23 14:14:28,631 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:14:28,632 INFO L93 Difference]: Finished difference Result 105 states and 407 transitions. [2018-12-23 14:14:28,632 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 407 transitions. [2018-12-23 14:14:28,632 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:14:28,632 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:14:28,632 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 105 states. [2018-12-23 14:14:28,632 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 105 states. [2018-12-23 14:14:28,634 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:14:28,634 INFO L93 Difference]: Finished difference Result 105 states and 407 transitions. [2018-12-23 14:14:28,635 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 407 transitions. [2018-12-23 14:14:28,635 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:14:28,635 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:14:28,635 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:14:28,635 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:14:28,635 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2018-12-23 14:14:28,637 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 362 transitions. [2018-12-23 14:14:28,637 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 362 transitions. Word has length 6 [2018-12-23 14:14:28,637 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:14:28,637 INFO L480 AbstractCegarLoop]: Abstraction has 77 states and 362 transitions. [2018-12-23 14:14:28,637 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-23 14:14:28,637 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 362 transitions. [2018-12-23 14:14:28,637 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:14:28,637 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:14:28,638 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:14:28,638 INFO L423 AbstractCegarLoop]: === Iteration 39 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:14:28,638 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:14:28,638 INFO L82 PathProgramCache]: Analyzing trace with hash 904728978, now seen corresponding path program 1 times [2018-12-23 14:14:28,638 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:14:28,639 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:14:28,639 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:14:28,639 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:14:28,639 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:14:28,642 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:14:29,027 INFO L273 TraceCheckUtils]: 0: Hoare triple {12287#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {12289#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:14:29,028 INFO L273 TraceCheckUtils]: 1: Hoare triple {12289#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {12290#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:14:29,030 INFO L273 TraceCheckUtils]: 2: Hoare triple {12290#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {12291#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:14:29,030 INFO L273 TraceCheckUtils]: 3: Hoare triple {12291#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {12292#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:14:29,032 INFO L273 TraceCheckUtils]: 4: Hoare triple {12292#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {12293#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:14:29,032 INFO L273 TraceCheckUtils]: 5: Hoare triple {12293#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {12288#false} is VALID [2018-12-23 14:14:29,032 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:14:29,033 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:14:29,033 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:14:29,033 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-23 14:14:29,033 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [18], [20], [23] [2018-12-23 14:14:29,034 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:14:29,034 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:14:29,047 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:14:29,047 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 4 fixpoints after 4 different actions. Largest state had 0 variables. [2018-12-23 14:14:29,048 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:14:29,048 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:14:29,048 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:14:29,048 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 37 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 37 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:14:29,056 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:14:29,057 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:14:29,065 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:14:29,071 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:14:29,071 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:14:29,102 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:14:29,113 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,113 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:14:29,136 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,138 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,139 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:14:29,151 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,153 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,154 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,155 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:14:29,173 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,175 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,176 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,178 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,179 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:14:29,182 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:14:29,214 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:14:29,231 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:14:29,245 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:14:29,257 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:14:29,279 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:14:29,280 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2018-12-23 14:14:29,288 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:14:29,288 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_200|, ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_200| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:14:29,288 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:14:29,345 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,346 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,348 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,349 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,350 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,352 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,353 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,355 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,356 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,357 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,359 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,360 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-23 14:14:29,363 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:14:29,411 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:14:29,411 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-23 14:14:29,436 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:14:29,436 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_201|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_201| ULTIMATE.start_main_p4))) (and (= |#memory_int| (store |v_#memory_int_201| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= (select |v_#memory_int_201| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_201| ULTIMATE.start_main_p1)) (= .cse0 0) (= 0 (select |v_#memory_int_201| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_201| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:14:29,436 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:14:29,495 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,497 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,498 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,500 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,501 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,503 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,504 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,505 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,507 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,508 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,509 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,511 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,512 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,513 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-23 14:14:29,516 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:14:29,569 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-23 14:14:29,569 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2018-12-23 14:14:29,770 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:14:29,770 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_202|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_202| ULTIMATE.start_main_p5))) (and (= 0 (select |v_#memory_int_202| ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_202| ULTIMATE.start_main_p5 (+ .cse0 1))) (= 0 (+ (select |v_#memory_int_202| ULTIMATE.start_main_p4) 1)) (= 0 (select |v_#memory_int_202| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_202| ULTIMATE.start_main_p3)) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:14:29,771 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:14:29,840 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,841 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,843 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,844 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,846 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,847 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,848 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,850 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,851 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,852 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,854 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,855 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,856 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,857 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:29,858 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:14:29,859 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 94 [2018-12-23 14:14:29,863 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:14:29,932 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-23 14:14:29,932 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2018-12-23 14:14:29,939 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:14:29,940 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_203|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_203| ULTIMATE.start_main_p1))) (and (= |#memory_int| (store |v_#memory_int_203| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_203| ULTIMATE.start_main_p3)) (= .cse0 0) (= 0 (select |v_#memory_int_203| ULTIMATE.start_main_p2)) (= (+ (select |v_#memory_int_203| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 1 (select |v_#memory_int_203| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:14:29,940 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:14:30,004 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:30,005 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:30,006 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:30,007 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:30,009 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:30,010 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:30,011 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:30,012 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:30,013 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:30,015 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:30,016 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:30,017 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:30,017 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:14:30,018 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:30,019 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 93 [2018-12-23 14:14:30,024 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:14:30,078 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-23 14:14:30,079 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2018-12-23 14:14:30,101 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:14:30,101 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_204|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_204| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_204| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_204| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= .cse0 0) (= (select |v_#memory_int_204| ULTIMATE.start_main_p1) 1) (= (select |v_#memory_int_204| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |v_#memory_int_204| ULTIMATE.start_main_p4) 1) 0))) [2018-12-23 14:14:30,101 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:14:30,169 INFO L273 TraceCheckUtils]: 0: Hoare triple {12287#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {12297#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:14:30,172 INFO L273 TraceCheckUtils]: 1: Hoare triple {12297#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {12301#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2018-12-23 14:14:30,175 INFO L273 TraceCheckUtils]: 2: Hoare triple {12301#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {12305#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:14:30,178 INFO L273 TraceCheckUtils]: 3: Hoare triple {12305#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {12309#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:14:30,185 INFO L273 TraceCheckUtils]: 4: Hoare triple {12309#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {12313#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2018-12-23 14:14:30,186 INFO L273 TraceCheckUtils]: 5: Hoare triple {12313#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {12288#false} is VALID [2018-12-23 14:14:30,186 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:14:30,187 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:14:30,280 INFO L273 TraceCheckUtils]: 5: Hoare triple {12317#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {12288#false} is VALID [2018-12-23 14:14:30,281 INFO L273 TraceCheckUtils]: 4: Hoare triple {12321#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {12317#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:14:30,282 INFO L273 TraceCheckUtils]: 3: Hoare triple {12325#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {12321#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:14:30,284 INFO L273 TraceCheckUtils]: 2: Hoare triple {12329#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {12325#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:14:30,286 INFO L273 TraceCheckUtils]: 1: Hoare triple {12333#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {12329#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:14:30,289 INFO L273 TraceCheckUtils]: 0: Hoare triple {12287#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {12333#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:14:30,289 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 6 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:14:30,309 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:14:30,309 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2018-12-23 14:14:30,309 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:14:30,309 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2018-12-23 14:14:30,309 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:14:30,309 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-12-23 14:14:30,331 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:14:30,332 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-12-23 14:14:30,332 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-12-23 14:14:30,332 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=102, Invalid=170, Unknown=0, NotChecked=0, Total=272 [2018-12-23 14:14:30,332 INFO L87 Difference]: Start difference. First operand 77 states and 362 transitions. Second operand 12 states. [2018-12-23 14:14:33,559 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:14:33,560 INFO L93 Difference]: Finished difference Result 131 states and 463 transitions. [2018-12-23 14:14:33,560 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-23 14:14:33,560 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2018-12-23 14:14:33,560 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:14:33,560 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-23 14:14:33,561 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2018-12-23 14:14:33,561 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-23 14:14:33,561 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2018-12-23 14:14:33,562 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 89 transitions. [2018-12-23 14:14:33,770 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-23 14:14:33,773 INFO L225 Difference]: With dead ends: 131 [2018-12-23 14:14:33,773 INFO L226 Difference]: Without dead ends: 130 [2018-12-23 14:14:33,774 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 100 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=134, Invalid=246, Unknown=0, NotChecked=0, Total=380 [2018-12-23 14:14:33,774 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2018-12-23 14:14:35,211 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 77. [2018-12-23 14:14:35,212 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:14:35,212 INFO L82 GeneralOperation]: Start isEquivalent. First operand 130 states. Second operand 77 states. [2018-12-23 14:14:35,212 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand 77 states. [2018-12-23 14:14:35,212 INFO L87 Difference]: Start difference. First operand 130 states. Second operand 77 states. [2018-12-23 14:14:35,216 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:14:35,216 INFO L93 Difference]: Finished difference Result 130 states and 461 transitions. [2018-12-23 14:14:35,216 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 461 transitions. [2018-12-23 14:14:35,216 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:14:35,216 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:14:35,216 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 130 states. [2018-12-23 14:14:35,217 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 130 states. [2018-12-23 14:14:35,219 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:14:35,219 INFO L93 Difference]: Finished difference Result 130 states and 461 transitions. [2018-12-23 14:14:35,219 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 461 transitions. [2018-12-23 14:14:35,219 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:14:35,220 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:14:35,220 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:14:35,220 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:14:35,220 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2018-12-23 14:14:35,221 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 362 transitions. [2018-12-23 14:14:35,222 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 362 transitions. Word has length 6 [2018-12-23 14:14:35,222 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:14:35,222 INFO L480 AbstractCegarLoop]: Abstraction has 77 states and 362 transitions. [2018-12-23 14:14:35,222 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-12-23 14:14:35,222 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 362 transitions. [2018-12-23 14:14:35,222 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:14:35,222 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:14:35,222 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:14:35,222 INFO L423 AbstractCegarLoop]: === Iteration 40 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:14:35,223 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:14:35,223 INFO L82 PathProgramCache]: Analyzing trace with hash 904746776, now seen corresponding path program 1 times [2018-12-23 14:14:35,223 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:14:35,223 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:14:35,224 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:14:35,224 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:14:35,224 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:14:35,227 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:14:35,384 INFO L273 TraceCheckUtils]: 0: Hoare triple {12934#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {12936#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:14:35,385 INFO L273 TraceCheckUtils]: 1: Hoare triple {12936#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {12937#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:14:35,386 INFO L273 TraceCheckUtils]: 2: Hoare triple {12937#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {12938#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-23 14:14:35,387 INFO L273 TraceCheckUtils]: 3: Hoare triple {12938#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p1] >= 0; {12938#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-23 14:14:35,387 INFO L273 TraceCheckUtils]: 4: Hoare triple {12938#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p2] <= 0; {12938#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-23 14:14:35,394 INFO L273 TraceCheckUtils]: 5: Hoare triple {12938#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {12935#false} is VALID [2018-12-23 14:14:35,394 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:14:35,394 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:14:35,394 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:14:35,394 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-23 14:14:35,395 INFO L207 CegarAbsIntRunner]: [0], [18], [20], [24], [26], [27] [2018-12-23 14:14:35,395 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:14:35,395 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:14:35,405 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:14:35,405 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:14:35,405 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:14:35,406 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:14:35,406 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:14:35,406 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 38 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 38 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:14:35,417 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:14:35,417 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:14:35,421 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:14:35,424 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:14:35,425 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:14:35,439 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:14:35,445 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:14:35,457 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 25 [2018-12-23 14:14:35,476 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:35,477 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 31 [2018-12-23 14:14:35,489 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:35,497 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:35,498 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 38 [2018-12-23 14:14:35,501 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:14:35,517 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:14:35,527 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:14:35,539 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:14:35,550 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:14:35,564 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-23 14:14:35,564 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:25, output treesize:32 [2018-12-23 14:14:35,570 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:14:35,570 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_209|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_209| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2018-12-23 14:14:35,570 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:14:35,624 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:35,626 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:35,627 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:35,628 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:35,629 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 28 [2018-12-23 14:14:35,631 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:14:35,649 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:14:35,649 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2018-12-23 14:14:37,673 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:14:37,674 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_210|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_210| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 .cse0) (= 0 (select |v_#memory_int_210| ULTIMATE.start_main_p5)) (= |#memory_int| (store |v_#memory_int_210| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= (select |v_#memory_int_210| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) [2018-12-23 14:14:37,674 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2018-12-23 14:14:37,718 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:37,720 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:37,721 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:37,722 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:37,723 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:37,724 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:37,725 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 42 [2018-12-23 14:14:37,728 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:14:37,748 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-23 14:14:37,748 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2018-12-23 14:14:37,755 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:14:37,755 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_211|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_211| ULTIMATE.start_main_p5))) (and (= (store |v_#memory_int_211| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_211| ULTIMATE.start_main_p3) 0) (= (+ (select |v_#memory_int_211| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= .cse0 0))) [2018-12-23 14:14:37,755 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2018-12-23 14:14:37,799 INFO L273 TraceCheckUtils]: 0: Hoare triple {12934#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {12942#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:14:37,801 INFO L273 TraceCheckUtils]: 1: Hoare triple {12942#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {12946#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:14:37,802 INFO L273 TraceCheckUtils]: 2: Hoare triple {12946#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {12950#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-23 14:14:37,806 INFO L273 TraceCheckUtils]: 3: Hoare triple {12950#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {12950#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-23 14:14:37,806 INFO L273 TraceCheckUtils]: 4: Hoare triple {12950#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {12950#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-23 14:14:37,807 INFO L273 TraceCheckUtils]: 5: Hoare triple {12950#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {12935#false} is VALID [2018-12-23 14:14:37,807 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-23 14:14:37,807 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:14:37,848 INFO L273 TraceCheckUtils]: 5: Hoare triple {12960#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {12935#false} is VALID [2018-12-23 14:14:37,848 INFO L273 TraceCheckUtils]: 4: Hoare triple {12960#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {12960#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:14:37,849 INFO L273 TraceCheckUtils]: 3: Hoare triple {12960#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {12960#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:14:37,850 INFO L273 TraceCheckUtils]: 2: Hoare triple {12970#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {12960#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:14:37,851 INFO L273 TraceCheckUtils]: 1: Hoare triple {12974#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {12970#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:14:37,853 INFO L273 TraceCheckUtils]: 0: Hoare triple {12934#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {12974#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:14:37,854 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-23 14:14:37,874 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:14:37,875 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:14:37,875 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:14:37,875 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-23 14:14:37,875 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:14:37,875 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:14:37,891 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:14:37,891 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:14:37,891 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:14:37,892 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:14:37,892 INFO L87 Difference]: Start difference. First operand 77 states and 362 transitions. Second operand 8 states. [2018-12-23 14:14:39,879 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:14:39,880 INFO L93 Difference]: Finished difference Result 93 states and 382 transitions. [2018-12-23 14:14:39,880 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-23 14:14:39,880 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-23 14:14:39,880 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:14:39,880 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:14:39,881 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 49 transitions. [2018-12-23 14:14:39,881 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:14:39,881 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 49 transitions. [2018-12-23 14:14:39,881 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 49 transitions. [2018-12-23 14:14:39,946 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:14:39,948 INFO L225 Difference]: With dead ends: 93 [2018-12-23 14:14:39,948 INFO L226 Difference]: Without dead ends: 92 [2018-12-23 14:14:39,948 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:14:39,949 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2018-12-23 14:14:41,720 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 77. [2018-12-23 14:14:41,720 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:14:41,720 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand 77 states. [2018-12-23 14:14:41,720 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand 77 states. [2018-12-23 14:14:41,720 INFO L87 Difference]: Start difference. First operand 92 states. Second operand 77 states. [2018-12-23 14:14:41,722 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:14:41,722 INFO L93 Difference]: Finished difference Result 92 states and 380 transitions. [2018-12-23 14:14:41,722 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 380 transitions. [2018-12-23 14:14:41,723 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:14:41,723 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:14:41,723 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 92 states. [2018-12-23 14:14:41,723 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 92 states. [2018-12-23 14:14:41,725 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:14:41,725 INFO L93 Difference]: Finished difference Result 92 states and 380 transitions. [2018-12-23 14:14:41,725 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 380 transitions. [2018-12-23 14:14:41,725 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:14:41,725 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:14:41,725 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:14:41,726 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:14:41,726 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2018-12-23 14:14:41,728 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 362 transitions. [2018-12-23 14:14:41,728 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 362 transitions. Word has length 6 [2018-12-23 14:14:41,728 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:14:41,728 INFO L480 AbstractCegarLoop]: Abstraction has 77 states and 362 transitions. [2018-12-23 14:14:41,729 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:14:41,729 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 362 transitions. [2018-12-23 14:14:41,729 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:14:41,729 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:14:41,729 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:14:41,729 INFO L423 AbstractCegarLoop]: === Iteration 41 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:14:41,730 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:14:41,730 INFO L82 PathProgramCache]: Analyzing trace with hash 904732946, now seen corresponding path program 1 times [2018-12-23 14:14:41,730 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:14:41,730 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:14:41,731 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:14:41,731 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:14:41,731 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:14:41,734 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:14:42,132 INFO L273 TraceCheckUtils]: 0: Hoare triple {13450#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {13452#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:14:42,133 INFO L273 TraceCheckUtils]: 1: Hoare triple {13452#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {13453#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:14:42,134 INFO L273 TraceCheckUtils]: 2: Hoare triple {13453#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {13454#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:14:42,135 INFO L273 TraceCheckUtils]: 3: Hoare triple {13454#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {13455#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:14:42,136 INFO L273 TraceCheckUtils]: 4: Hoare triple {13455#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {13456#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:14:42,137 INFO L273 TraceCheckUtils]: 5: Hoare triple {13456#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {13451#false} is VALID [2018-12-23 14:14:42,137 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:14:42,138 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:14:42,138 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:14:42,138 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-23 14:14:42,138 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [18], [20], [23] [2018-12-23 14:14:42,139 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:14:42,139 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:14:42,163 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:14:42,164 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 4 fixpoints after 4 different actions. Largest state had 0 variables. [2018-12-23 14:14:42,164 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:14:42,164 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:14:42,164 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:14:42,164 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 39 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 39 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:14:42,174 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:14:42,174 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:14:42,178 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:14:42,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:14:42,187 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:14:42,228 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:14:42,276 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:42,277 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:14:42,302 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:42,303 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:42,304 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:14:42,326 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:42,327 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:42,328 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:42,328 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:14:42,644 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:42,645 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:42,647 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:42,650 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:42,650 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:14:42,661 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:14:42,695 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:14:42,714 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:14:42,730 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:14:42,745 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:14:42,766 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:14:42,767 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 1 variables, input treesize:31, output treesize:38 [2018-12-23 14:14:42,774 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:14:42,774 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_214|]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_214| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:14:42,774 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:14:42,879 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:42,880 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:42,881 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:42,882 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:42,884 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:42,885 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:42,886 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:42,887 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:42,889 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:42,890 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:42,891 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:42,892 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-23 14:14:42,901 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:14:42,974 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:14:42,975 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:48, output treesize:38 [2018-12-23 14:14:43,025 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:14:43,025 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_215|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_215| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_215| ULTIMATE.start_main_p5)) (= (store |v_#memory_int_215| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_215| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_215| ULTIMATE.start_main_p3) 0) (= 0 .cse0) (= (select |v_#memory_int_215| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:14:43,025 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:14:43,081 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:43,083 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:43,084 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:43,085 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:43,087 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:43,088 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:43,089 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:43,090 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:43,092 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:43,093 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:43,094 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:43,095 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:43,096 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:43,097 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 80 [2018-12-23 14:14:43,100 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:14:43,149 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-23 14:14:43,149 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:50, output treesize:40 [2018-12-23 14:14:45,302 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:14:45,302 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_216|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_216| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_216| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_216| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_216| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_216| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= 0 .cse0) (= 0 (+ (select |v_#memory_int_216| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:14:45,302 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:14:45,389 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:45,390 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:45,391 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:45,392 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:45,394 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:45,395 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:45,396 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:45,397 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:45,398 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:45,400 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:45,401 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:45,402 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:45,402 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:14:45,403 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:45,404 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 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-23 14:14:45,408 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:14:45,460 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-23 14:14:45,461 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:38 [2018-12-23 14:14:45,473 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:14:45,473 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_217|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_217| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_217| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_217| ULTIMATE.start_main_p5) 1) (= 0 .cse0) (= (select |v_#memory_int_217| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |v_#memory_int_217| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_217| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:14:45,474 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:14:45,529 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:45,531 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:45,532 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:45,534 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:45,535 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:45,536 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:45,537 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:45,539 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:45,540 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:45,541 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:45,543 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:45,544 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:45,545 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:45,546 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:45,547 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:14:45,548 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 100 [2018-12-23 14:14:45,551 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:14:45,604 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-23 14:14:45,604 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:52, output treesize:42 [2018-12-23 14:14:45,699 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:14:45,700 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_218|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_218| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_218| ULTIMATE.start_main_p5)) (= (+ (select |v_#memory_int_218| ULTIMATE.start_main_p4) 1) 0) (= |#memory_int| (store |v_#memory_int_218| ULTIMATE.start_main_p3 (+ .cse0 1))) (= .cse0 0) (= (select |v_#memory_int_218| ULTIMATE.start_main_p1) 0) (= (+ (select |v_#memory_int_218| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:14:45,700 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-23 14:14:45,754 INFO L273 TraceCheckUtils]: 0: Hoare triple {13450#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {13460#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:14:45,756 INFO L273 TraceCheckUtils]: 1: Hoare triple {13460#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {13464#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:14:45,758 INFO L273 TraceCheckUtils]: 2: Hoare triple {13464#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {13468#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:14:45,760 INFO L273 TraceCheckUtils]: 3: Hoare triple {13468#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {13472#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-23 14:14:45,764 INFO L273 TraceCheckUtils]: 4: Hoare triple {13472#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {13476#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2018-12-23 14:14:45,765 INFO L273 TraceCheckUtils]: 5: Hoare triple {13476#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {13451#false} is VALID [2018-12-23 14:14:45,766 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:14:45,766 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:14:45,865 INFO L273 TraceCheckUtils]: 5: Hoare triple {13480#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {13451#false} is VALID [2018-12-23 14:14:45,866 INFO L273 TraceCheckUtils]: 4: Hoare triple {13484#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {13480#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:14:45,867 INFO L273 TraceCheckUtils]: 3: Hoare triple {13488#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {13484#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:14:45,869 INFO L273 TraceCheckUtils]: 2: Hoare triple {13492#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {13488#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:14:45,873 INFO L273 TraceCheckUtils]: 1: Hoare triple {13496#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {13492#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:14:45,875 INFO L273 TraceCheckUtils]: 0: Hoare triple {13450#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {13496#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:14:45,876 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 2 proven. 8 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:14:45,896 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:14:45,896 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2018-12-23 14:14:45,896 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:14:45,896 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2018-12-23 14:14:45,897 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:14:45,897 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-12-23 14:14:45,917 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:14:45,917 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-12-23 14:14:45,917 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-12-23 14:14:45,918 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=94, Invalid=178, Unknown=0, NotChecked=0, Total=272 [2018-12-23 14:14:45,918 INFO L87 Difference]: Start difference. First operand 77 states and 362 transitions. Second operand 12 states. [2018-12-23 14:14:49,126 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:14:49,127 INFO L93 Difference]: Finished difference Result 117 states and 435 transitions. [2018-12-23 14:14:49,127 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-23 14:14:49,127 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2018-12-23 14:14:49,127 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:14:49,127 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-23 14:14:49,128 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 76 transitions. [2018-12-23 14:14:49,128 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-23 14:14:49,128 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 76 transitions. [2018-12-23 14:14:49,128 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 76 transitions. [2018-12-23 14:14:49,348 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-23 14:14:49,350 INFO L225 Difference]: With dead ends: 117 [2018-12-23 14:14:49,350 INFO L226 Difference]: Without dead ends: 115 [2018-12-23 14:14:49,350 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 103 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=146, Invalid=274, Unknown=0, NotChecked=0, Total=420 [2018-12-23 14:14:49,350 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2018-12-23 14:14:51,102 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 74. [2018-12-23 14:14:51,102 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:14:51,102 INFO L82 GeneralOperation]: Start isEquivalent. First operand 115 states. Second operand 74 states. [2018-12-23 14:14:51,102 INFO L74 IsIncluded]: Start isIncluded. First operand 115 states. Second operand 74 states. [2018-12-23 14:14:51,102 INFO L87 Difference]: Start difference. First operand 115 states. Second operand 74 states. [2018-12-23 14:14:51,106 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:14:51,106 INFO L93 Difference]: Finished difference Result 115 states and 431 transitions. [2018-12-23 14:14:51,106 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 431 transitions. [2018-12-23 14:14:51,107 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:14:51,107 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:14:51,107 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand 115 states. [2018-12-23 14:14:51,107 INFO L87 Difference]: Start difference. First operand 74 states. Second operand 115 states. [2018-12-23 14:14:51,110 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:14:51,110 INFO L93 Difference]: Finished difference Result 115 states and 431 transitions. [2018-12-23 14:14:51,110 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 431 transitions. [2018-12-23 14:14:51,110 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:14:51,110 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:14:51,110 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:14:51,110 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:14:51,111 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 74 states. [2018-12-23 14:14:51,112 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 344 transitions. [2018-12-23 14:14:51,113 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 344 transitions. Word has length 6 [2018-12-23 14:14:51,113 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:14:51,113 INFO L480 AbstractCegarLoop]: Abstraction has 74 states and 344 transitions. [2018-12-23 14:14:51,113 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-12-23 14:14:51,113 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 344 transitions. [2018-12-23 14:14:51,113 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:14:51,113 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:14:51,113 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:14:51,113 INFO L423 AbstractCegarLoop]: === Iteration 42 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:14:51,114 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:14:51,114 INFO L82 PathProgramCache]: Analyzing trace with hash 904737102, now seen corresponding path program 1 times [2018-12-23 14:14:51,114 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:14:51,114 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:14:51,114 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:14:51,115 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:14:51,115 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:14:51,118 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:14:51,493 INFO L273 TraceCheckUtils]: 0: Hoare triple {14046#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {14048#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:14:51,494 INFO L273 TraceCheckUtils]: 1: Hoare triple {14048#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {14049#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:14:51,495 INFO L273 TraceCheckUtils]: 2: Hoare triple {14049#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {14050#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:14:51,496 INFO L273 TraceCheckUtils]: 3: Hoare triple {14050#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {14051#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:14:51,497 INFO L273 TraceCheckUtils]: 4: Hoare triple {14051#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {14051#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:14:51,497 INFO L273 TraceCheckUtils]: 5: Hoare triple {14051#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {14047#false} is VALID [2018-12-23 14:14:51,498 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-23 14:14:51,498 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:14:51,498 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:14:51,498 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-23 14:14:51,498 INFO L207 CegarAbsIntRunner]: [0], [14], [18], [20], [24], [25] [2018-12-23 14:14:51,500 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:14:51,500 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:14:51,511 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:14:51,511 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-23 14:14:51,511 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:14:51,511 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:14:51,512 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:14:51,512 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 40 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 40 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:14:51,523 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:14:51,523 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:14:51,528 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:14:51,531 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:14:51,532 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:14:51,545 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:14:51,551 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:14:51,561 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:51,561 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-23 14:14:51,576 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:51,578 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:51,579 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-23 14:14:51,593 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:51,597 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:51,599 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:51,599 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:14:51,602 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:14:51,624 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:14:51,637 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:14:51,648 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:14:51,658 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:14:51,676 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:14:51,677 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:28, output treesize:35 [2018-12-23 14:14:51,681 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:14:51,682 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_223|, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_223| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:14:51,682 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:14:51,743 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:51,745 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:51,746 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:51,748 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:51,749 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:51,750 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:51,752 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:51,752 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 45 [2018-12-23 14:14:51,755 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:14:51,785 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:14:51,785 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:40, output treesize:30 [2018-12-23 14:14:53,817 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:14:53,817 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_224|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_224| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_224| ULTIMATE.start_main_p2) 0) (= 0 .cse0) (= (select |v_#memory_int_224| ULTIMATE.start_main_p5) 0) (= |#memory_int| (store |v_#memory_int_224| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_224| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:14:53,817 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:14:53,872 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:53,873 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:53,874 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:53,875 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:53,876 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:53,878 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:53,879 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:53,880 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:53,881 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:53,882 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 59 [2018-12-23 14:14:53,884 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:14:53,917 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-23 14:14:53,917 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:42, output treesize:32 [2018-12-23 14:14:53,926 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:14:53,927 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_225|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_225| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_225| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |v_#memory_int_225| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_225| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_225| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 .cse0))) [2018-12-23 14:14:53,927 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:14:53,976 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:53,978 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:53,979 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:53,981 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:53,982 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:53,983 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:53,984 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:53,985 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:53,987 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:53,988 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:53,988 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:14:53,989 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 77 [2018-12-23 14:14:53,992 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:14:54,029 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-23 14:14:54,029 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2018-12-23 14:14:54,043 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:14:54,044 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_226|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_226| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_226| ULTIMATE.start_main_p5) 1) (= .cse0 0) (= (select |v_#memory_int_226| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_226| ULTIMATE.start_main_p3 (+ .cse0 1))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (+ (select |v_#memory_int_226| ULTIMATE.start_main_p4) 1)))) [2018-12-23 14:14:54,044 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:14:54,089 INFO L273 TraceCheckUtils]: 0: Hoare triple {14046#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {14055#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:14:54,091 INFO L273 TraceCheckUtils]: 1: Hoare triple {14055#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {14059#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:14:54,093 INFO L273 TraceCheckUtils]: 2: Hoare triple {14059#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {14063#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:14:54,096 INFO L273 TraceCheckUtils]: 3: Hoare triple {14063#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {14067#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:14:54,097 INFO L273 TraceCheckUtils]: 4: Hoare triple {14067#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {14067#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:14:54,098 INFO L273 TraceCheckUtils]: 5: Hoare triple {14067#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {14047#false} is VALID [2018-12-23 14:14:54,099 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-23 14:14:54,099 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:14:54,161 INFO L273 TraceCheckUtils]: 5: Hoare triple {14074#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {14047#false} is VALID [2018-12-23 14:14:54,161 INFO L273 TraceCheckUtils]: 4: Hoare triple {14074#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {14074#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:14:54,162 INFO L273 TraceCheckUtils]: 3: Hoare triple {14081#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {14074#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:14:54,163 INFO L273 TraceCheckUtils]: 2: Hoare triple {14085#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {14081#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:14:54,166 INFO L273 TraceCheckUtils]: 1: Hoare triple {14089#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {14085#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:14:54,168 INFO L273 TraceCheckUtils]: 0: Hoare triple {14046#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {14089#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:14:54,168 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-23 14:14:54,189 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:14:54,189 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-23 14:14:54,190 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:14:54,190 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-23 14:14:54,190 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:14:54,190 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-23 14:14:54,211 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:14:54,211 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-23 14:14:54,211 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-23 14:14:54,211 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=115, Unknown=0, NotChecked=0, Total=182 [2018-12-23 14:14:54,212 INFO L87 Difference]: Start difference. First operand 74 states and 344 transitions. Second operand 10 states. [2018-12-23 14:14:56,432 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:14:56,432 INFO L93 Difference]: Finished difference Result 99 states and 372 transitions. [2018-12-23 14:14:56,433 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-23 14:14:56,433 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-23 14:14:56,433 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:14:56,433 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:14:56,433 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 62 transitions. [2018-12-23 14:14:56,434 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:14:56,434 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 62 transitions. [2018-12-23 14:14:56,434 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 62 transitions. [2018-12-23 14:14:56,527 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:14:56,530 INFO L225 Difference]: With dead ends: 99 [2018-12-23 14:14:56,530 INFO L226 Difference]: Without dead ends: 98 [2018-12-23 14:14:56,530 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=100, Invalid=172, Unknown=0, NotChecked=0, Total=272 [2018-12-23 14:14:56,530 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2018-12-23 14:14:58,450 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 73. [2018-12-23 14:14:58,450 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:14:58,450 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand 73 states. [2018-12-23 14:14:58,450 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand 73 states. [2018-12-23 14:14:58,450 INFO L87 Difference]: Start difference. First operand 98 states. Second operand 73 states. [2018-12-23 14:14:58,453 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:14:58,453 INFO L93 Difference]: Finished difference Result 98 states and 370 transitions. [2018-12-23 14:14:58,453 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 370 transitions. [2018-12-23 14:14:58,453 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:14:58,453 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:14:58,454 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand 98 states. [2018-12-23 14:14:58,454 INFO L87 Difference]: Start difference. First operand 73 states. Second operand 98 states. [2018-12-23 14:14:58,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:14:58,456 INFO L93 Difference]: Finished difference Result 98 states and 370 transitions. [2018-12-23 14:14:58,456 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 370 transitions. [2018-12-23 14:14:58,456 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:14:58,456 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:14:58,456 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:14:58,456 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:14:58,456 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 73 states. [2018-12-23 14:14:58,458 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 338 transitions. [2018-12-23 14:14:58,458 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 338 transitions. Word has length 6 [2018-12-23 14:14:58,458 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:14:58,458 INFO L480 AbstractCegarLoop]: Abstraction has 73 states and 338 transitions. [2018-12-23 14:14:58,458 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-23 14:14:58,458 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 338 transitions. [2018-12-23 14:14:58,458 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:14:58,458 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:14:58,459 INFO L402 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1] [2018-12-23 14:14:58,459 INFO L423 AbstractCegarLoop]: === Iteration 43 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:14:58,459 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:14:58,459 INFO L82 PathProgramCache]: Analyzing trace with hash 904323436, now seen corresponding path program 3 times [2018-12-23 14:14:58,459 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:14:58,460 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:14:58,460 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:14:58,460 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:14:58,460 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:14:58,464 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:14:58,766 INFO L273 TraceCheckUtils]: 0: Hoare triple {14574#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {14576#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:14:58,768 INFO L273 TraceCheckUtils]: 1: Hoare triple {14576#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {14576#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:14:58,769 INFO L273 TraceCheckUtils]: 2: Hoare triple {14576#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {14577#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:14:58,770 INFO L273 TraceCheckUtils]: 3: Hoare triple {14577#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {14578#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:14:58,771 INFO L273 TraceCheckUtils]: 4: Hoare triple {14578#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {14579#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:14:58,772 INFO L273 TraceCheckUtils]: 5: Hoare triple {14579#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {14575#false} is VALID [2018-12-23 14:14:58,772 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-23 14:14:58,773 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:14:58,773 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:14:58,773 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-23 14:14:58,773 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2018-12-23 14:14:58,773 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:14:58,773 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 41 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 41 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:14:58,783 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-12-23 14:14:58,783 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder TERMS_WITH_SMALL_CONSTANTS_FIRST (IT: FPandBP) [2018-12-23 14:14:58,788 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-12-23 14:14:58,789 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-23 14:14:58,792 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:14:58,792 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:14:58,836 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:14:58,848 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:58,849 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:14:58,870 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:58,872 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:58,872 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:14:58,895 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:58,896 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:58,897 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:58,898 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:14:58,930 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:58,932 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:58,933 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:58,935 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:58,936 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:14:58,944 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:14:58,977 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:14:58,995 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:14:59,009 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:14:59,022 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:14:59,047 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-23 14:14:59,047 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2018-12-23 14:14:59,056 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:14:59,057 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_230|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_230| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:14:59,057 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:14:59,167 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,169 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,170 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,172 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,173 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,174 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,176 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,177 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,178 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,180 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,181 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,182 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-23 14:14:59,184 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:14:59,227 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:14:59,228 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-23 14:14:59,237 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:14:59,238 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_231|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_231| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_231| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_231| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_231| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= (select |v_#memory_int_231| ULTIMATE.start_main_p1) 0) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_231| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:14:59,238 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:14:59,294 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,323 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,324 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,325 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,326 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,327 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,327 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,329 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,330 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,331 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,333 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,334 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,335 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,336 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-23 14:14:59,340 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:14:59,390 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-23 14:14:59,390 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:50, output treesize:40 [2018-12-23 14:14:59,404 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:14:59,405 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_232|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_232| ULTIMATE.start_main_p1))) (and (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_232| ULTIMATE.start_main_p4) 1) 0) (= |#memory_int| (store |v_#memory_int_232| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 (select |v_#memory_int_232| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_232| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_232| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:14:59,405 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:14:59,504 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,506 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,508 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,510 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,512 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,514 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,516 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,518 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,520 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,522 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,524 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,526 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,528 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,530 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,533 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,536 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,536 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 16 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 98 [2018-12-23 14:14:59,540 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:14:59,643 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-23 14:14:59,644 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:38 [2018-12-23 14:14:59,651 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:14:59,652 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_233|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_233| ULTIMATE.start_main_p4))) (and (= |#memory_int| (store |v_#memory_int_233| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_233| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_233| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_233| ULTIMATE.start_main_p2) 0) (= 0 (+ .cse0 1)) (= 1 (select |v_#memory_int_233| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:14:59,652 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:14:59,726 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,727 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,729 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,730 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,731 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,732 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,734 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,735 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,736 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,737 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,739 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,740 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,741 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,742 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,743 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,744 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:14:59,745 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 16 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 110 [2018-12-23 14:14:59,748 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:14:59,810 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:14:59,811 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2018-12-23 14:15:01,947 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:15:01,947 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_234|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_234| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_234| ULTIMATE.start_main_p5) 0) (= 0 (+ (select |v_#memory_int_234| ULTIMATE.start_main_p4) 2)) (= .cse0 0) (= (store |v_#memory_int_234| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_234| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 1 (select |v_#memory_int_234| ULTIMATE.start_main_p1)))) [2018-12-23 14:15:01,948 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0)) [2018-12-23 14:15:02,043 INFO L273 TraceCheckUtils]: 0: Hoare triple {14574#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {14583#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:15:02,046 INFO L273 TraceCheckUtils]: 1: Hoare triple {14583#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {14587#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:15:02,049 INFO L273 TraceCheckUtils]: 2: Hoare triple {14587#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {14591#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:15:02,053 INFO L273 TraceCheckUtils]: 3: Hoare triple {14591#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {14595#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:15:02,059 INFO L273 TraceCheckUtils]: 4: Hoare triple {14595#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {14599#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))))} is VALID [2018-12-23 14:15:02,060 INFO L273 TraceCheckUtils]: 5: Hoare triple {14599#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))))} assume !(#memory_int[main_p1] >= 0); {14575#false} is VALID [2018-12-23 14:15:02,060 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:15:02,060 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:15:02,141 INFO L273 TraceCheckUtils]: 5: Hoare triple {14603#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {14575#false} is VALID [2018-12-23 14:15:02,142 INFO L273 TraceCheckUtils]: 4: Hoare triple {14607#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {14603#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:15:02,144 INFO L273 TraceCheckUtils]: 3: Hoare triple {14611#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {14607#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:15:02,145 INFO L273 TraceCheckUtils]: 2: Hoare triple {14615#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {14611#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:15:02,147 INFO L273 TraceCheckUtils]: 1: Hoare triple {14619#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {14615#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:15:02,150 INFO L273 TraceCheckUtils]: 0: Hoare triple {14574#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {14619#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:15:02,151 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 3 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:15:02,172 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:15:02,172 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 5, 5] total 14 [2018-12-23 14:15:02,172 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:15:02,172 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 6 [2018-12-23 14:15:02,172 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:15:02,172 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2018-12-23 14:15:02,201 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:15:02,201 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-12-23 14:15:02,201 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-12-23 14:15:02,201 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=88, Invalid=152, Unknown=0, NotChecked=0, Total=240 [2018-12-23 14:15:02,201 INFO L87 Difference]: Start difference. First operand 73 states and 338 transitions. Second operand 11 states. [2018-12-23 14:15:06,479 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:15:06,479 INFO L93 Difference]: Finished difference Result 132 states and 470 transitions. [2018-12-23 14:15:06,479 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-23 14:15:06,480 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 6 [2018-12-23 14:15:06,480 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:15:06,480 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-12-23 14:15:06,480 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2018-12-23 14:15:06,480 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-12-23 14:15:06,481 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2018-12-23 14:15:06,481 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 89 transitions. [2018-12-23 14:15:06,693 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-23 14:15:06,696 INFO L225 Difference]: With dead ends: 132 [2018-12-23 14:15:06,697 INFO L226 Difference]: Without dead ends: 130 [2018-12-23 14:15:06,697 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 0 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 85 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=110, Invalid=196, Unknown=0, NotChecked=0, Total=306 [2018-12-23 14:15:06,697 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2018-12-23 14:15:08,338 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 74. [2018-12-23 14:15:08,338 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:15:08,339 INFO L82 GeneralOperation]: Start isEquivalent. First operand 130 states. Second operand 74 states. [2018-12-23 14:15:08,339 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand 74 states. [2018-12-23 14:15:08,339 INFO L87 Difference]: Start difference. First operand 130 states. Second operand 74 states. [2018-12-23 14:15:08,343 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:15:08,344 INFO L93 Difference]: Finished difference Result 130 states and 465 transitions. [2018-12-23 14:15:08,344 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 465 transitions. [2018-12-23 14:15:08,344 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:15:08,344 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:15:08,344 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand 130 states. [2018-12-23 14:15:08,345 INFO L87 Difference]: Start difference. First operand 74 states. Second operand 130 states. [2018-12-23 14:15:08,348 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:15:08,348 INFO L93 Difference]: Finished difference Result 130 states and 465 transitions. [2018-12-23 14:15:08,348 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 465 transitions. [2018-12-23 14:15:08,349 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:15:08,349 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:15:08,349 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:15:08,349 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:15:08,349 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 74 states. [2018-12-23 14:15:08,351 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 334 transitions. [2018-12-23 14:15:08,351 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 334 transitions. Word has length 6 [2018-12-23 14:15:08,351 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:15:08,351 INFO L480 AbstractCegarLoop]: Abstraction has 74 states and 334 transitions. [2018-12-23 14:15:08,351 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-12-23 14:15:08,352 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 334 transitions. [2018-12-23 14:15:08,352 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:15:08,352 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:15:08,352 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:15:08,352 INFO L423 AbstractCegarLoop]: === Iteration 44 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:15:08,352 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:15:08,353 INFO L82 PathProgramCache]: Analyzing trace with hash 904329702, now seen corresponding path program 1 times [2018-12-23 14:15:08,353 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:15:08,353 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:15:08,353 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-23 14:15:08,353 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:15:08,354 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:15:08,356 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:15:08,470 INFO L273 TraceCheckUtils]: 0: Hoare triple {15212#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {15214#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:15:08,471 INFO L273 TraceCheckUtils]: 1: Hoare triple {15214#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {15215#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:15:08,472 INFO L273 TraceCheckUtils]: 2: Hoare triple {15215#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {15216#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-23 14:15:08,472 INFO L273 TraceCheckUtils]: 3: Hoare triple {15216#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p1] >= 0; {15216#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-23 14:15:08,473 INFO L273 TraceCheckUtils]: 4: Hoare triple {15216#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p2] <= 0; {15216#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-23 14:15:08,473 INFO L273 TraceCheckUtils]: 5: Hoare triple {15216#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {15213#false} is VALID [2018-12-23 14:15:08,474 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-23 14:15:08,474 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:15:08,474 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:15:08,474 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-23 14:15:08,475 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [24], [26], [27] [2018-12-23 14:15:08,476 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:15:08,476 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:15:08,551 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:15:08,551 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:15:08,551 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:15:08,551 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:15:08,552 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:15:08,552 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 42 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 42 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:15:08,560 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:15:08,561 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:15:08,565 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:15:08,568 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:15:08,569 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:15:08,585 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:15:08,591 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:08,592 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:15:08,601 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:08,602 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:08,603 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:15:08,616 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:08,618 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:08,619 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:08,620 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:15:08,644 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:08,645 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:08,647 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:08,648 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:08,649 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:15:08,652 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:15:08,683 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:15:08,700 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:15:08,714 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:15:08,727 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:15:08,748 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-23 14:15:08,749 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2018-12-23 14:15:08,758 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:15:08,758 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_239|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_239| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:15:08,758 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:15:08,815 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:08,816 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:08,818 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:08,819 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:08,820 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:08,822 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:08,823 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:08,824 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:08,826 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:08,827 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:08,828 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:08,829 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-23 14:15:08,833 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:15:08,877 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-23 14:15:08,877 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-23 14:15:10,975 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:15:10,976 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_240|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_240| ULTIMATE.start_main_p4))) (and (= |#memory_int| (store |v_#memory_int_240| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 0 (select |v_#memory_int_240| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_240| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_240| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_240| ULTIMATE.start_main_p3)))) [2018-12-23 14:15:10,976 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:15:11,057 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:11,059 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:11,060 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:11,062 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:11,063 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:11,065 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:11,066 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:11,067 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:11,069 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:11,070 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:11,071 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:11,073 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:11,074 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:11,075 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-23 14:15:11,079 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:15:11,130 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-23 14:15:11,130 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2018-12-23 14:15:11,184 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:15:11,184 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_241|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_241| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_241| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |v_#memory_int_241| ULTIMATE.start_main_p4) 1)) (= 0 (select |v_#memory_int_241| ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_241| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 (select |v_#memory_int_241| ULTIMATE.start_main_p3)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:15:11,184 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:15:11,252 INFO L273 TraceCheckUtils]: 0: Hoare triple {15212#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {15220#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:15:11,255 INFO L273 TraceCheckUtils]: 1: Hoare triple {15220#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {15224#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-23 14:15:11,259 INFO L273 TraceCheckUtils]: 2: Hoare triple {15224#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {15228#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-23 14:15:11,260 INFO L273 TraceCheckUtils]: 3: Hoare triple {15228#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {15228#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-23 14:15:11,261 INFO L273 TraceCheckUtils]: 4: Hoare triple {15228#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {15228#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-23 14:15:11,261 INFO L273 TraceCheckUtils]: 5: Hoare triple {15228#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {15213#false} is VALID [2018-12-23 14:15:11,262 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-23 14:15:11,262 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:15:11,305 INFO L273 TraceCheckUtils]: 5: Hoare triple {15238#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {15213#false} is VALID [2018-12-23 14:15:11,305 INFO L273 TraceCheckUtils]: 4: Hoare triple {15238#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {15238#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:15:11,306 INFO L273 TraceCheckUtils]: 3: Hoare triple {15238#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {15238#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:15:11,307 INFO L273 TraceCheckUtils]: 2: Hoare triple {15248#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {15238#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:15:11,308 INFO L273 TraceCheckUtils]: 1: Hoare triple {15252#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {15248#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:15:11,311 INFO L273 TraceCheckUtils]: 0: Hoare triple {15212#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {15252#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:15:11,311 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-23 14:15:11,331 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:15:11,331 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:15:11,331 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:15:11,331 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-23 14:15:11,331 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:15:11,332 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:15:11,350 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:15:11,350 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:15:11,350 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:15:11,350 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:15:11,350 INFO L87 Difference]: Start difference. First operand 74 states and 334 transitions. Second operand 8 states. [2018-12-23 14:15:15,683 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:15:15,683 INFO L93 Difference]: Finished difference Result 87 states and 350 transitions. [2018-12-23 14:15:15,683 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-23 14:15:15,683 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-23 14:15:15,684 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:15:15,684 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:15:15,684 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 48 transitions. [2018-12-23 14:15:15,684 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:15:15,684 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 48 transitions. [2018-12-23 14:15:15,684 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 48 transitions. [2018-12-23 14:15:15,758 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:15:15,760 INFO L225 Difference]: With dead ends: 87 [2018-12-23 14:15:15,760 INFO L226 Difference]: Without dead ends: 86 [2018-12-23 14:15:15,761 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:15:15,761 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2018-12-23 14:15:17,993 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 73. [2018-12-23 14:15:17,994 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:15:17,994 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand 73 states. [2018-12-23 14:15:17,994 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand 73 states. [2018-12-23 14:15:17,994 INFO L87 Difference]: Start difference. First operand 86 states. Second operand 73 states. [2018-12-23 14:15:17,996 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:15:17,997 INFO L93 Difference]: Finished difference Result 86 states and 348 transitions. [2018-12-23 14:15:17,997 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 348 transitions. [2018-12-23 14:15:17,997 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:15:17,997 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:15:17,997 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand 86 states. [2018-12-23 14:15:17,997 INFO L87 Difference]: Start difference. First operand 73 states. Second operand 86 states. [2018-12-23 14:15:17,999 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:15:17,999 INFO L93 Difference]: Finished difference Result 86 states and 348 transitions. [2018-12-23 14:15:17,999 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 348 transitions. [2018-12-23 14:15:17,999 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:15:17,999 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:15:17,999 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:15:17,999 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:15:18,000 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 73 states. [2018-12-23 14:15:18,001 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 337 transitions. [2018-12-23 14:15:18,001 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 337 transitions. Word has length 6 [2018-12-23 14:15:18,001 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:15:18,001 INFO L480 AbstractCegarLoop]: Abstraction has 73 states and 337 transitions. [2018-12-23 14:15:18,001 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:15:18,001 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 337 transitions. [2018-12-23 14:15:18,002 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:15:18,002 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:15:18,002 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:15:18,002 INFO L423 AbstractCegarLoop]: === Iteration 45 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:15:18,002 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:15:18,002 INFO L82 PathProgramCache]: Analyzing trace with hash 904316184, now seen corresponding path program 1 times [2018-12-23 14:15:18,002 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:15:18,003 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:15:18,003 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:15:18,003 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:15:18,003 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:15:18,006 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:15:18,205 INFO L273 TraceCheckUtils]: 0: Hoare triple {15697#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {15699#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:15:18,206 INFO L273 TraceCheckUtils]: 1: Hoare triple {15699#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {15700#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:15:18,207 INFO L273 TraceCheckUtils]: 2: Hoare triple {15700#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {15700#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:15:18,208 INFO L273 TraceCheckUtils]: 3: Hoare triple {15700#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {15701#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-23 14:15:18,209 INFO L273 TraceCheckUtils]: 4: Hoare triple {15701#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {15702#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:15:18,209 INFO L273 TraceCheckUtils]: 5: Hoare triple {15702#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {15698#false} is VALID [2018-12-23 14:15:18,210 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-23 14:15:18,210 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:15:18,210 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:15:18,210 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-23 14:15:18,211 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [18], [24], [25] [2018-12-23 14:15:18,212 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:15:18,212 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:15:18,294 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:15:18,294 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-23 14:15:18,294 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:15:18,294 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:15:18,295 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:15:18,295 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 43 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 43 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:15:18,303 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:15:18,303 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:15:18,311 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:15:18,314 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:15:18,314 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:15:18,328 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:15:18,333 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:18,334 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:15:18,343 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:18,345 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:18,346 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:15:18,361 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:18,362 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:18,364 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:18,364 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:15:18,403 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:18,404 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:18,405 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:18,407 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:18,408 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:15:18,410 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:15:18,441 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:15:18,457 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:15:18,471 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:15:18,481 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:15:18,503 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-23 14:15:18,503 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2018-12-23 14:15:18,512 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:15:18,512 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_244|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_244| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:15:18,513 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:15:18,570 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:18,571 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:18,572 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:18,573 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:18,575 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:18,576 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:18,577 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:18,578 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:18,579 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:18,581 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:18,582 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:18,583 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-23 14:15:18,586 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:15:18,630 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-23 14:15:18,630 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-23 14:15:20,648 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:15:20,648 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_245|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_245| ULTIMATE.start_main_p4))) (and (= 0 .cse0) (= (store |v_#memory_int_245| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_245| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_245| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |v_#memory_int_245| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_245| ULTIMATE.start_main_p3) 0))) [2018-12-23 14:15:20,649 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:15:20,739 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:20,741 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:20,742 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:20,743 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:20,744 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:20,746 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:20,747 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:20,748 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:20,749 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:20,751 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:20,752 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:20,753 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:20,754 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:20,755 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-23 14:15:20,759 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:15:20,810 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:15:20,810 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2018-12-23 14:15:21,555 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:15:21,555 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_246|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_246| ULTIMATE.start_main_p1))) (and (= 0 (+ (select |v_#memory_int_246| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_246| ULTIMATE.start_main_p5) 0) (= 0 (select |v_#memory_int_246| ULTIMATE.start_main_p2)) (= (store |v_#memory_int_246| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_246| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:15:21,555 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:15:21,621 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:21,622 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:21,623 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:21,625 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:21,626 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:21,627 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:21,628 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:21,630 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:21,631 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:21,632 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:21,633 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:21,634 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:21,635 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:15:21,636 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:21,637 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-23 14:15:21,644 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:15:21,699 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-23 14:15:21,700 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2018-12-23 14:15:21,730 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:15:21,730 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_247|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_247| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_247| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_247| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (+ (select |v_#memory_int_247| ULTIMATE.start_main_p4) 1) 0) (= .cse0 0) (= (select |v_#memory_int_247| ULTIMATE.start_main_p1) 1) (= (select |v_#memory_int_247| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:15:21,730 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:15:21,789 INFO L273 TraceCheckUtils]: 0: Hoare triple {15697#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {15706#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:15:21,792 INFO L273 TraceCheckUtils]: 1: Hoare triple {15706#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {15710#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:15:21,795 INFO L273 TraceCheckUtils]: 2: Hoare triple {15710#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {15714#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:15:21,799 INFO L273 TraceCheckUtils]: 3: Hoare triple {15714#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {15718#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2018-12-23 14:15:21,800 INFO L273 TraceCheckUtils]: 4: Hoare triple {15718#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} assume #memory_int[main_p1] >= 0; {15718#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2018-12-23 14:15:21,801 INFO L273 TraceCheckUtils]: 5: Hoare triple {15718#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} assume !(#memory_int[main_p2] <= 0); {15698#false} is VALID [2018-12-23 14:15:21,801 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-23 14:15:21,801 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:15:21,846 INFO L273 TraceCheckUtils]: 5: Hoare triple {15702#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {15698#false} is VALID [2018-12-23 14:15:21,846 INFO L273 TraceCheckUtils]: 4: Hoare triple {15702#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {15702#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:15:21,847 INFO L273 TraceCheckUtils]: 3: Hoare triple {15731#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {15702#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:15:21,848 INFO L273 TraceCheckUtils]: 2: Hoare triple {15735#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {15731#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2018-12-23 14:15:21,850 INFO L273 TraceCheckUtils]: 1: Hoare triple {15739#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {15735#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2018-12-23 14:15:21,853 INFO L273 TraceCheckUtils]: 0: Hoare triple {15697#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {15739#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2018-12-23 14:15:21,853 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 4 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:15:21,874 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:15:21,874 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2018-12-23 14:15:21,874 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:15:21,874 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-23 14:15:21,875 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:15:21,875 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-23 14:15:21,898 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:15:21,898 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-23 14:15:21,898 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-23 14:15:21,898 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=64, Invalid=92, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:15:21,898 INFO L87 Difference]: Start difference. First operand 73 states and 337 transitions. Second operand 10 states. [2018-12-23 14:15:24,796 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:15:24,797 INFO L93 Difference]: Finished difference Result 106 states and 387 transitions. [2018-12-23 14:15:24,797 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-23 14:15:24,797 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-23 14:15:24,797 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:15:24,797 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:15:24,798 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 72 transitions. [2018-12-23 14:15:24,798 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:15:24,798 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 72 transitions. [2018-12-23 14:15:24,798 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 72 transitions. [2018-12-23 14:15:24,927 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-23 14:15:24,930 INFO L225 Difference]: With dead ends: 106 [2018-12-23 14:15:24,930 INFO L226 Difference]: Without dead ends: 105 [2018-12-23 14:15:24,930 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 52 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=92, Invalid=148, Unknown=0, NotChecked=0, Total=240 [2018-12-23 14:15:24,930 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 105 states. [2018-12-23 14:15:26,737 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 105 to 75. [2018-12-23 14:15:26,737 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:15:26,737 INFO L82 GeneralOperation]: Start isEquivalent. First operand 105 states. Second operand 75 states. [2018-12-23 14:15:26,737 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand 75 states. [2018-12-23 14:15:26,737 INFO L87 Difference]: Start difference. First operand 105 states. Second operand 75 states. [2018-12-23 14:15:26,740 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:15:26,740 INFO L93 Difference]: Finished difference Result 105 states and 385 transitions. [2018-12-23 14:15:26,740 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 385 transitions. [2018-12-23 14:15:26,741 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:15:26,741 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:15:26,741 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand 105 states. [2018-12-23 14:15:26,741 INFO L87 Difference]: Start difference. First operand 75 states. Second operand 105 states. [2018-12-23 14:15:26,743 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:15:26,744 INFO L93 Difference]: Finished difference Result 105 states and 385 transitions. [2018-12-23 14:15:26,744 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 385 transitions. [2018-12-23 14:15:26,744 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:15:26,744 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:15:26,744 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:15:26,744 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:15:26,744 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 75 states. [2018-12-23 14:15:26,746 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 349 transitions. [2018-12-23 14:15:26,746 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 349 transitions. Word has length 6 [2018-12-23 14:15:26,746 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:15:26,746 INFO L480 AbstractCegarLoop]: Abstraction has 75 states and 349 transitions. [2018-12-23 14:15:26,746 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-23 14:15:26,746 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 349 transitions. [2018-12-23 14:15:26,746 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:15:26,746 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:15:26,747 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:15:26,747 INFO L423 AbstractCegarLoop]: === Iteration 46 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:15:26,747 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:15:26,747 INFO L82 PathProgramCache]: Analyzing trace with hash 904320028, now seen corresponding path program 1 times [2018-12-23 14:15:26,747 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:15:26,747 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:15:26,748 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:15:26,748 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:15:26,748 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:15:26,751 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:15:27,109 INFO L273 TraceCheckUtils]: 0: Hoare triple {16251#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {16253#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:15:27,110 INFO L273 TraceCheckUtils]: 1: Hoare triple {16253#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {16254#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:15:27,111 INFO L273 TraceCheckUtils]: 2: Hoare triple {16254#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {16254#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:15:27,112 INFO L273 TraceCheckUtils]: 3: Hoare triple {16254#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {16255#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-23 14:15:27,113 INFO L273 TraceCheckUtils]: 4: Hoare triple {16255#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {16256#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:15:27,113 INFO L273 TraceCheckUtils]: 5: Hoare triple {16256#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {16252#false} is VALID [2018-12-23 14:15:27,114 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-23 14:15:27,114 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:15:27,114 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:15:27,114 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-23 14:15:27,115 INFO L207 CegarAbsIntRunner]: [0], [6], [14], [18], [24], [25] [2018-12-23 14:15:27,116 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:15:27,116 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:15:27,146 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:15:27,146 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-23 14:15:27,146 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:15:27,146 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:15:27,147 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:15:27,147 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 44 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 44 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:15:27,156 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:15:27,156 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:15:27,161 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:15:27,167 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:15:27,168 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:15:27,184 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:15:27,194 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,194 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:15:27,206 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,208 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,208 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:15:27,252 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,253 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,254 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,254 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:15:27,274 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,276 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,277 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,279 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,280 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:15:27,284 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:15:27,313 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:15:27,330 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:15:27,344 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:15:27,357 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:15:27,380 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:15:27,380 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2018-12-23 14:15:27,387 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:15:27,387 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_251|, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_251| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:15:27,387 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:15:27,453 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,454 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,455 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,457 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,458 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,459 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,461 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,462 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,463 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,464 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,465 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,466 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-23 14:15:27,471 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:15:27,519 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-23 14:15:27,519 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-23 14:15:27,644 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:15:27,644 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_252|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_252| ULTIMATE.start_main_p4))) (and (= 0 (select |v_#memory_int_252| ULTIMATE.start_main_p3)) (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_252| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_252| ULTIMATE.start_main_p1) 0) (= (store |v_#memory_int_252| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_252| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:15:27,644 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:15:27,708 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,709 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,711 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,712 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,713 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,715 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,716 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,717 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,718 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,720 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,721 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,722 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,723 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,724 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 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-23 14:15:27,729 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:15:27,782 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-23 14:15:27,783 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2018-12-23 14:15:27,801 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:15:27,802 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_253|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_253| ULTIMATE.start_main_p1))) (and (= 0 (+ (select |v_#memory_int_253| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_253| ULTIMATE.start_main_p5) 0) (= (store |v_#memory_int_253| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_253| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |v_#memory_int_253| ULTIMATE.start_main_p3)))) [2018-12-23 14:15:27,802 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:15:27,872 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,873 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,875 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,876 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,877 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,878 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,880 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,881 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,882 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,883 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,885 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,886 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,887 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,888 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,889 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:27,889 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:15:27,890 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 104 [2018-12-23 14:15:27,901 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:15:27,963 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-23 14:15:27,963 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2018-12-23 14:15:28,002 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:15:28,002 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_254|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_254| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 0 (select |v_#memory_int_254| ULTIMATE.start_main_p5)) (= 0 (+ (select |v_#memory_int_254| ULTIMATE.start_main_p4) 1)) (= (store |v_#memory_int_254| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_254| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_254| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:15:28,002 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:15:28,064 INFO L273 TraceCheckUtils]: 0: Hoare triple {16251#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {16260#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:15:28,067 INFO L273 TraceCheckUtils]: 1: Hoare triple {16260#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {16264#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:15:28,070 INFO L273 TraceCheckUtils]: 2: Hoare triple {16264#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {16268#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:15:28,074 INFO L273 TraceCheckUtils]: 3: Hoare triple {16268#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {16272#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:15:28,075 INFO L273 TraceCheckUtils]: 4: Hoare triple {16272#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {16272#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:15:28,076 INFO L273 TraceCheckUtils]: 5: Hoare triple {16272#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {16252#false} is VALID [2018-12-23 14:15:28,076 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-23 14:15:28,077 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:15:28,151 INFO L273 TraceCheckUtils]: 5: Hoare triple {16279#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {16252#false} is VALID [2018-12-23 14:15:28,152 INFO L273 TraceCheckUtils]: 4: Hoare triple {16279#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {16279#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:15:28,153 INFO L273 TraceCheckUtils]: 3: Hoare triple {16286#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {16279#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:15:28,155 INFO L273 TraceCheckUtils]: 2: Hoare triple {16290#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {16286#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:15:28,157 INFO L273 TraceCheckUtils]: 1: Hoare triple {16294#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {16290#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:15:28,159 INFO L273 TraceCheckUtils]: 0: Hoare triple {16251#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {16294#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:15:28,160 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-23 14:15:28,180 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:15:28,180 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-23 14:15:28,180 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:15:28,181 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-23 14:15:28,181 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:15:28,181 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-23 14:15:28,201 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:15:28,201 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-23 14:15:28,201 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-23 14:15:28,201 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=117, Unknown=0, NotChecked=0, Total=182 [2018-12-23 14:15:28,202 INFO L87 Difference]: Start difference. First operand 75 states and 349 transitions. Second operand 10 states. [2018-12-23 14:15:31,480 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:15:31,480 INFO L93 Difference]: Finished difference Result 102 states and 394 transitions. [2018-12-23 14:15:31,480 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-23 14:15:31,480 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-23 14:15:31,480 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:15:31,480 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:15:31,481 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 61 transitions. [2018-12-23 14:15:31,481 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:15:31,481 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 61 transitions. [2018-12-23 14:15:31,481 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 61 transitions. [2018-12-23 14:15:31,592 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:15:31,595 INFO L225 Difference]: With dead ends: 102 [2018-12-23 14:15:31,595 INFO L226 Difference]: Without dead ends: 101 [2018-12-23 14:15:31,596 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 2 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 61 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=98, Invalid=174, Unknown=0, NotChecked=0, Total=272 [2018-12-23 14:15:31,596 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 101 states. [2018-12-23 14:15:33,048 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 101 to 78. [2018-12-23 14:15:33,049 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:15:33,049 INFO L82 GeneralOperation]: Start isEquivalent. First operand 101 states. Second operand 78 states. [2018-12-23 14:15:33,049 INFO L74 IsIncluded]: Start isIncluded. First operand 101 states. Second operand 78 states. [2018-12-23 14:15:33,049 INFO L87 Difference]: Start difference. First operand 101 states. Second operand 78 states. [2018-12-23 14:15:33,051 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:15:33,051 INFO L93 Difference]: Finished difference Result 101 states and 392 transitions. [2018-12-23 14:15:33,051 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 392 transitions. [2018-12-23 14:15:33,051 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:15:33,052 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:15:33,052 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand 101 states. [2018-12-23 14:15:33,052 INFO L87 Difference]: Start difference. First operand 78 states. Second operand 101 states. [2018-12-23 14:15:33,054 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:15:33,054 INFO L93 Difference]: Finished difference Result 101 states and 392 transitions. [2018-12-23 14:15:33,054 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 392 transitions. [2018-12-23 14:15:33,054 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:15:33,054 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:15:33,054 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:15:33,055 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:15:33,055 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 78 states. [2018-12-23 14:15:33,056 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 367 transitions. [2018-12-23 14:15:33,056 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 367 transitions. Word has length 6 [2018-12-23 14:15:33,057 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:15:33,057 INFO L480 AbstractCegarLoop]: Abstraction has 78 states and 367 transitions. [2018-12-23 14:15:33,057 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-23 14:15:33,057 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 367 transitions. [2018-12-23 14:15:33,057 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:15:33,057 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:15:33,057 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:15:33,057 INFO L423 AbstractCegarLoop]: === Iteration 47 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:15:33,057 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:15:33,058 INFO L82 PathProgramCache]: Analyzing trace with hash 904448866, now seen corresponding path program 1 times [2018-12-23 14:15:33,058 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:15:33,058 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:15:33,058 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:15:33,058 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:15:33,058 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:15:33,062 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:15:33,238 INFO L273 TraceCheckUtils]: 0: Hoare triple {16802#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {16804#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:15:33,239 INFO L273 TraceCheckUtils]: 1: Hoare triple {16804#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {16805#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:15:33,240 INFO L273 TraceCheckUtils]: 2: Hoare triple {16805#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {16806#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-23 14:15:33,241 INFO L273 TraceCheckUtils]: 3: Hoare triple {16806#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p1] >= 0; {16806#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-23 14:15:33,241 INFO L273 TraceCheckUtils]: 4: Hoare triple {16806#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p2] <= 0; {16806#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-23 14:15:33,242 INFO L273 TraceCheckUtils]: 5: Hoare triple {16806#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {16803#false} is VALID [2018-12-23 14:15:33,242 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-23 14:15:33,242 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:15:33,243 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:15:33,243 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-23 14:15:33,243 INFO L207 CegarAbsIntRunner]: [0], [10], [18], [24], [26], [27] [2018-12-23 14:15:33,244 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:15:33,244 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:15:33,260 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:15:33,260 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:15:33,260 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:15:33,260 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:15:33,260 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:15:33,260 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 45 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 45 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:15:33,274 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:15:33,274 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:15:33,283 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:15:33,298 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:15:33,299 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:15:33,325 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:15:33,336 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:15:33,350 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:33,351 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-23 14:15:33,368 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:33,370 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:33,371 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-23 14:15:33,391 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:33,395 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:33,397 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:33,398 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:15:33,403 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:15:33,426 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:15:33,441 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:15:33,455 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:15:33,468 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:15:33,487 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-23 14:15:33,487 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:28, output treesize:35 [2018-12-23 14:15:33,494 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:15:33,494 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_258|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_258| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:15:33,494 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:15:33,569 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:33,571 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:33,572 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:33,573 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:33,574 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:33,576 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:33,577 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:33,578 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 45 [2018-12-23 14:15:33,582 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:15:33,615 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-23 14:15:33,615 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2018-12-23 14:15:35,600 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:15:35,601 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_259|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_259| ULTIMATE.start_main_p4))) (and (= (store |v_#memory_int_259| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_259| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_259| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_259| ULTIMATE.start_main_p2) 0) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:15:35,601 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:15:35,694 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:35,696 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:35,697 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:35,698 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:35,699 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:35,701 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:35,702 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:35,702 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:15:35,703 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 60 [2018-12-23 14:15:35,707 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:15:35,742 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:15:35,742 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:30 [2018-12-23 14:15:35,756 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:15:35,757 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_260|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_260| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_260| ULTIMATE.start_main_p5) 0) (= (store |v_#memory_int_260| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_260| ULTIMATE.start_main_p3)) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (+ (select |v_#memory_int_260| ULTIMATE.start_main_p4) 1)))) [2018-12-23 14:15:35,757 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:15:35,828 INFO L273 TraceCheckUtils]: 0: Hoare triple {16802#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {16810#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:15:35,831 INFO L273 TraceCheckUtils]: 1: Hoare triple {16810#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {16814#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:15:35,833 INFO L273 TraceCheckUtils]: 2: Hoare triple {16814#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {16818#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-23 14:15:35,834 INFO L273 TraceCheckUtils]: 3: Hoare triple {16818#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {16818#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-23 14:15:35,835 INFO L273 TraceCheckUtils]: 4: Hoare triple {16818#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {16818#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-23 14:15:35,836 INFO L273 TraceCheckUtils]: 5: Hoare triple {16818#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {16803#false} is VALID [2018-12-23 14:15:35,837 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-23 14:15:35,837 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:15:35,889 INFO L273 TraceCheckUtils]: 5: Hoare triple {16828#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {16803#false} is VALID [2018-12-23 14:15:35,890 INFO L273 TraceCheckUtils]: 4: Hoare triple {16828#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {16828#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:15:35,890 INFO L273 TraceCheckUtils]: 3: Hoare triple {16828#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {16828#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:15:35,891 INFO L273 TraceCheckUtils]: 2: Hoare triple {16838#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {16828#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:15:35,893 INFO L273 TraceCheckUtils]: 1: Hoare triple {16842#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {16838#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:15:35,895 INFO L273 TraceCheckUtils]: 0: Hoare triple {16802#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {16842#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:15:35,895 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-23 14:15:35,916 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:15:35,916 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:15:35,916 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:15:35,916 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-23 14:15:35,916 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:15:35,916 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:15:35,934 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:15:35,934 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:15:35,934 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:15:35,935 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=67, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:15:35,935 INFO L87 Difference]: Start difference. First operand 78 states and 367 transitions. Second operand 8 states. [2018-12-23 14:15:39,706 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:15:39,706 INFO L93 Difference]: Finished difference Result 94 states and 387 transitions. [2018-12-23 14:15:39,707 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-23 14:15:39,707 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-23 14:15:39,707 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:15:39,707 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:15:39,707 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 49 transitions. [2018-12-23 14:15:39,707 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:15:39,707 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 49 transitions. [2018-12-23 14:15:39,708 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 49 transitions. [2018-12-23 14:15:39,774 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:15:39,775 INFO L225 Difference]: With dead ends: 94 [2018-12-23 14:15:39,775 INFO L226 Difference]: Without dead ends: 93 [2018-12-23 14:15:39,776 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=61, Invalid=95, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:15:39,776 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 93 states. [2018-12-23 14:15:41,595 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 93 to 78. [2018-12-23 14:15:41,596 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:15:41,596 INFO L82 GeneralOperation]: Start isEquivalent. First operand 93 states. Second operand 78 states. [2018-12-23 14:15:41,596 INFO L74 IsIncluded]: Start isIncluded. First operand 93 states. Second operand 78 states. [2018-12-23 14:15:41,596 INFO L87 Difference]: Start difference. First operand 93 states. Second operand 78 states. [2018-12-23 14:15:41,599 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:15:41,599 INFO L93 Difference]: Finished difference Result 93 states and 385 transitions. [2018-12-23 14:15:41,600 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 385 transitions. [2018-12-23 14:15:41,600 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:15:41,600 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:15:41,600 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand 93 states. [2018-12-23 14:15:41,600 INFO L87 Difference]: Start difference. First operand 78 states. Second operand 93 states. [2018-12-23 14:15:41,602 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:15:41,603 INFO L93 Difference]: Finished difference Result 93 states and 385 transitions. [2018-12-23 14:15:41,603 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 385 transitions. [2018-12-23 14:15:41,603 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:15:41,603 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:15:41,603 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:15:41,603 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:15:41,603 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 78 states. [2018-12-23 14:15:41,605 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 367 transitions. [2018-12-23 14:15:41,605 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 367 transitions. Word has length 6 [2018-12-23 14:15:41,605 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:15:41,605 INFO L480 AbstractCegarLoop]: Abstraction has 78 states and 367 transitions. [2018-12-23 14:15:41,605 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:15:41,605 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 367 transitions. [2018-12-23 14:15:41,605 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:15:41,605 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:15:41,606 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:15:41,606 INFO L423 AbstractCegarLoop]: === Iteration 48 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:15:41,606 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:15:41,606 INFO L82 PathProgramCache]: Analyzing trace with hash 904439192, now seen corresponding path program 1 times [2018-12-23 14:15:41,606 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:15:41,607 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:15:41,607 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:15:41,607 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:15:41,607 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:15:41,609 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:15:42,399 WARN L181 SmtUtils]: Spent 512.00 ms on a formula simplification. DAG size of input: 30 DAG size of output: 17 [2018-12-23 14:15:42,783 WARN L181 SmtUtils]: Spent 131.00 ms on a formula simplification. DAG size of input: 17 DAG size of output: 9 [2018-12-23 14:15:42,835 INFO L273 TraceCheckUtils]: 0: Hoare triple {17324#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {17326#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:15:42,836 INFO L273 TraceCheckUtils]: 1: Hoare triple {17326#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {17327#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-23 14:15:42,837 INFO L273 TraceCheckUtils]: 2: Hoare triple {17327#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {17328#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:15:42,838 INFO L273 TraceCheckUtils]: 3: Hoare triple {17328#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {17329#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-23 14:15:42,839 INFO L273 TraceCheckUtils]: 4: Hoare triple {17329#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume #memory_int[main_p1] >= 0; {17329#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-23 14:15:42,839 INFO L273 TraceCheckUtils]: 5: Hoare triple {17329#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {17325#false} is VALID [2018-12-23 14:15:42,840 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-23 14:15:42,840 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:15:42,840 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:15:42,840 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-23 14:15:42,841 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [18], [24], [25] [2018-12-23 14:15:42,842 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:15:42,842 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:15:42,862 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:15:42,862 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-23 14:15:42,862 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:15:42,862 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:15:42,862 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:15:42,862 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 46 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 46 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:15:42,871 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:15:42,872 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:15:42,876 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:15:42,881 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:15:42,882 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:15:42,908 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:15:42,919 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:15:42,935 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:42,936 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-23 14:15:42,954 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:42,956 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:42,957 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-23 14:15:42,976 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:42,981 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:42,982 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:42,983 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:15:42,989 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:15:43,011 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:15:43,026 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:15:43,039 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:15:43,051 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:15:43,070 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-23 14:15:43,070 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:28, output treesize:35 [2018-12-23 14:15:43,077 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:15:43,077 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_263|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_263| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:15:43,077 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:15:43,176 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:43,178 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:43,179 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:43,181 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:43,182 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:43,183 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:43,185 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:43,186 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 45 [2018-12-23 14:15:43,191 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:15:43,225 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-23 14:15:43,225 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2018-12-23 14:15:43,235 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:15:43,235 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_264|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_264| ULTIMATE.start_main_p4))) (and (= |#memory_int| (store |v_#memory_int_264| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 0 (select |v_#memory_int_264| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_264| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_264| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:15:43,235 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:15:43,395 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:43,397 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:43,398 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:43,399 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:43,401 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:43,402 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:43,403 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:43,404 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:15:43,404 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 60 [2018-12-23 14:15:43,410 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:15:43,445 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-23 14:15:43,445 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:42, output treesize:30 [2018-12-23 14:15:43,453 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:15:43,454 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_265|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_265| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_265| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (+ (select |v_#memory_int_265| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |v_#memory_int_265| ULTIMATE.start_main_p5)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_265| ULTIMATE.start_main_p3) 0))) [2018-12-23 14:15:43,454 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:15:43,525 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:43,527 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:43,528 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:43,530 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:43,531 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:43,532 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:43,534 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:43,535 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:43,536 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:43,537 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 69 [2018-12-23 14:15:43,542 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:15:43,581 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-23 14:15:43,581 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:44, output treesize:34 [2018-12-23 14:15:43,595 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:15:43,596 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_266|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_266| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_266| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |v_#memory_int_266| ULTIMATE.start_main_p2) 1)) (= 0 (+ (select |v_#memory_int_266| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store |v_#memory_int_266| ULTIMATE.start_main_p3 (+ .cse0 1))) (= .cse0 0))) [2018-12-23 14:15:43,596 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-23 14:15:43,654 INFO L273 TraceCheckUtils]: 0: Hoare triple {17324#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {17333#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:15:43,655 INFO L273 TraceCheckUtils]: 1: Hoare triple {17333#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {17337#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:15:43,657 INFO L273 TraceCheckUtils]: 2: Hoare triple {17337#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {17341#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:15:43,660 INFO L273 TraceCheckUtils]: 3: Hoare triple {17341#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {17345#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:15:43,661 INFO L273 TraceCheckUtils]: 4: Hoare triple {17345#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {17345#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:15:43,662 INFO L273 TraceCheckUtils]: 5: Hoare triple {17345#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {17325#false} is VALID [2018-12-23 14:15:43,663 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-23 14:15:43,663 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:15:43,738 INFO L273 TraceCheckUtils]: 5: Hoare triple {17352#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {17325#false} is VALID [2018-12-23 14:15:43,739 INFO L273 TraceCheckUtils]: 4: Hoare triple {17352#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {17352#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:15:43,740 INFO L273 TraceCheckUtils]: 3: Hoare triple {17359#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {17352#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:15:43,741 INFO L273 TraceCheckUtils]: 2: Hoare triple {17363#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {17359#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:15:43,764 INFO L273 TraceCheckUtils]: 1: Hoare triple {17367#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {17363#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:15:43,766 INFO L273 TraceCheckUtils]: 0: Hoare triple {17324#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {17367#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:15:43,767 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 5 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:15:43,789 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:15:43,789 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-23 14:15:43,789 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:15:43,790 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-23 14:15:43,790 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:15:43,790 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-23 14:15:43,812 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:15:43,812 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-23 14:15:43,812 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-23 14:15:43,813 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2018-12-23 14:15:43,813 INFO L87 Difference]: Start difference. First operand 78 states and 367 transitions. Second operand 10 states. [2018-12-23 14:15:47,242 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:15:47,242 INFO L93 Difference]: Finished difference Result 116 states and 427 transitions. [2018-12-23 14:15:47,243 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-23 14:15:47,243 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-23 14:15:47,243 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:15:47,243 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:15:47,243 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 74 transitions. [2018-12-23 14:15:47,243 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:15:47,244 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 74 transitions. [2018-12-23 14:15:47,244 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 74 transitions. [2018-12-23 14:15:47,355 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-23 14:15:47,358 INFO L225 Difference]: With dead ends: 116 [2018-12-23 14:15:47,358 INFO L226 Difference]: Without dead ends: 115 [2018-12-23 14:15:47,359 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=89, Invalid=151, Unknown=0, NotChecked=0, Total=240 [2018-12-23 14:15:47,359 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2018-12-23 14:15:49,682 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 79. [2018-12-23 14:15:49,682 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:15:49,682 INFO L82 GeneralOperation]: Start isEquivalent. First operand 115 states. Second operand 79 states. [2018-12-23 14:15:49,682 INFO L74 IsIncluded]: Start isIncluded. First operand 115 states. Second operand 79 states. [2018-12-23 14:15:49,683 INFO L87 Difference]: Start difference. First operand 115 states. Second operand 79 states. [2018-12-23 14:15:49,686 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:15:49,686 INFO L93 Difference]: Finished difference Result 115 states and 425 transitions. [2018-12-23 14:15:49,686 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 425 transitions. [2018-12-23 14:15:49,686 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:15:49,686 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:15:49,686 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand 115 states. [2018-12-23 14:15:49,686 INFO L87 Difference]: Start difference. First operand 79 states. Second operand 115 states. [2018-12-23 14:15:49,689 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:15:49,689 INFO L93 Difference]: Finished difference Result 115 states and 425 transitions. [2018-12-23 14:15:49,689 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 425 transitions. [2018-12-23 14:15:49,689 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:15:49,689 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:15:49,689 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:15:49,690 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:15:49,690 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 79 states. [2018-12-23 14:15:49,691 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 373 transitions. [2018-12-23 14:15:49,691 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 373 transitions. Word has length 6 [2018-12-23 14:15:49,692 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:15:49,692 INFO L480 AbstractCegarLoop]: Abstraction has 79 states and 373 transitions. [2018-12-23 14:15:49,692 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-23 14:15:49,692 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 373 transitions. [2018-12-23 14:15:49,692 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:15:49,692 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:15:49,692 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:15:49,692 INFO L423 AbstractCegarLoop]: === Iteration 49 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:15:49,692 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:15:49,693 INFO L82 PathProgramCache]: Analyzing trace with hash 904550232, now seen corresponding path program 1 times [2018-12-23 14:15:49,693 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:15:49,693 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:15:49,693 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:15:49,693 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:15:49,693 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:15:49,695 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:15:49,976 INFO L273 TraceCheckUtils]: 0: Hoare triple {17921#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {17923#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:15:49,978 INFO L273 TraceCheckUtils]: 1: Hoare triple {17923#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {17924#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:15:49,979 INFO L273 TraceCheckUtils]: 2: Hoare triple {17924#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {17925#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:15:49,980 INFO L273 TraceCheckUtils]: 3: Hoare triple {17925#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {17926#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:15:49,981 INFO L273 TraceCheckUtils]: 4: Hoare triple {17926#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {17927#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:15:49,982 INFO L273 TraceCheckUtils]: 5: Hoare triple {17927#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {17922#false} is VALID [2018-12-23 14:15:49,982 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:15:49,982 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:15:49,982 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:15:49,983 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-23 14:15:49,983 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [14], [18], [23] [2018-12-23 14:15:49,984 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:15:49,984 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:15:49,994 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:15:49,994 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 4 fixpoints after 4 different actions. Largest state had 0 variables. [2018-12-23 14:15:49,994 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:15:49,994 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:15:49,995 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:15:49,995 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 47 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 47 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:15:50,005 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:15:50,005 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:15:50,009 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:15:50,014 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:15:50,014 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:15:50,058 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:15:50,072 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,072 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:15:50,117 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,119 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,120 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:15:50,133 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,135 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,136 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,137 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:15:50,155 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,157 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,158 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,160 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,161 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:15:50,164 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:15:50,192 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:15:50,208 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:15:50,222 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:15:50,233 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:15:50,255 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:15:50,256 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2018-12-23 14:15:50,262 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:15:50,263 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_270|, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_270| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:15:50,263 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:15:50,322 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,324 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,325 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,326 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,328 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,329 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,330 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,332 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,333 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,334 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,336 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,337 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-23 14:15:50,340 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:15:50,385 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-23 14:15:50,385 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-23 14:15:50,420 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:15:50,421 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_271|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_271| ULTIMATE.start_main_p4))) (and (= 0 .cse0) (= (select |v_#memory_int_271| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_271| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_271| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_271| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_271| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:15:50,421 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:15:50,502 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,504 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,505 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,506 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,508 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,509 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,510 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,512 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,513 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,514 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,516 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,517 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,518 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,519 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-23 14:15:50,522 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:15:50,589 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:15:50,589 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2018-12-23 14:15:50,603 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:15:50,603 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_272|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_272| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_272| ULTIMATE.start_main_p5) 0) (= (+ (select |v_#memory_int_272| ULTIMATE.start_main_p4) 1) 0) (= .cse0 0) (= 0 (select |v_#memory_int_272| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_272| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_272| ULTIMATE.start_main_p2)))) [2018-12-23 14:15:50,603 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:15:50,720 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,722 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,724 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,726 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,728 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,730 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,732 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,734 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,736 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,738 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,740 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,742 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,745 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,747 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,749 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,749 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:15:50,750 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 104 [2018-12-23 14:15:50,757 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:15:50,830 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-23 14:15:50,830 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2018-12-23 14:15:50,838 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:15:50,838 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_273|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_273| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_273| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_273| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (+ (select |v_#memory_int_273| ULTIMATE.start_main_p4) 1) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_273| ULTIMATE.start_main_p5) 0) (= 1 (select |v_#memory_int_273| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:15:50,838 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:15:50,994 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,995 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,996 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,998 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:50,999 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:51,001 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:51,002 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:51,004 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:51,005 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:51,007 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:51,008 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:51,010 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:51,010 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:15:51,011 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:51,012 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 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-23 14:15:51,017 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:15:51,073 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-23 14:15:51,073 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2018-12-23 14:15:51,096 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:15:51,097 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_274|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_274| ULTIMATE.start_main_p2))) (and (= 0 (+ (select |v_#memory_int_274| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_274| ULTIMATE.start_main_p1) 1) (= (select |v_#memory_int_274| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_274| ULTIMATE.start_main_p3) 1) (= |#memory_int| (store |v_#memory_int_274| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:15:51,097 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:15:51,162 INFO L273 TraceCheckUtils]: 0: Hoare triple {17921#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {17931#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:15:51,166 INFO L273 TraceCheckUtils]: 1: Hoare triple {17931#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {17935#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:15:51,170 INFO L273 TraceCheckUtils]: 2: Hoare triple {17935#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {17939#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:15:51,174 INFO L273 TraceCheckUtils]: 3: Hoare triple {17939#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {17943#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:15:51,180 INFO L273 TraceCheckUtils]: 4: Hoare triple {17943#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {17947#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2018-12-23 14:15:51,181 INFO L273 TraceCheckUtils]: 5: Hoare triple {17947#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {17922#false} is VALID [2018-12-23 14:15:51,182 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:15:51,182 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:15:51,283 INFO L273 TraceCheckUtils]: 5: Hoare triple {17951#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {17922#false} is VALID [2018-12-23 14:15:51,284 INFO L273 TraceCheckUtils]: 4: Hoare triple {17955#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {17951#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:15:51,285 INFO L273 TraceCheckUtils]: 3: Hoare triple {17959#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {17955#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:15:51,287 INFO L273 TraceCheckUtils]: 2: Hoare triple {17963#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {17959#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:15:51,290 INFO L273 TraceCheckUtils]: 1: Hoare triple {17967#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {17963#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:15:51,293 INFO L273 TraceCheckUtils]: 0: Hoare triple {17921#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {17967#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:15:51,293 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 6 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:15:51,312 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:15:51,312 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2018-12-23 14:15:51,312 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:15:51,312 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2018-12-23 14:15:51,312 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:15:51,312 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-12-23 14:15:51,339 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:15:51,339 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-12-23 14:15:51,339 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-12-23 14:15:51,340 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=102, Invalid=170, Unknown=0, NotChecked=0, Total=272 [2018-12-23 14:15:51,340 INFO L87 Difference]: Start difference. First operand 79 states and 373 transitions. Second operand 12 states. [2018-12-23 14:15:55,891 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:15:55,891 INFO L93 Difference]: Finished difference Result 140 states and 516 transitions. [2018-12-23 14:15:55,891 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-23 14:15:55,891 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2018-12-23 14:15:55,892 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:15:55,892 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-23 14:15:55,892 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2018-12-23 14:15:55,893 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-23 14:15:55,893 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2018-12-23 14:15:55,893 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 89 transitions. [2018-12-23 14:15:56,179 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-23 14:15:56,182 INFO L225 Difference]: With dead ends: 140 [2018-12-23 14:15:56,182 INFO L226 Difference]: Without dead ends: 139 [2018-12-23 14:15:56,183 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 100 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=134, Invalid=246, Unknown=0, NotChecked=0, Total=380 [2018-12-23 14:15:56,183 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 139 states. [2018-12-23 14:15:57,648 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 139 to 76. [2018-12-23 14:15:57,649 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:15:57,649 INFO L82 GeneralOperation]: Start isEquivalent. First operand 139 states. Second operand 76 states. [2018-12-23 14:15:57,649 INFO L74 IsIncluded]: Start isIncluded. First operand 139 states. Second operand 76 states. [2018-12-23 14:15:57,649 INFO L87 Difference]: Start difference. First operand 139 states. Second operand 76 states. [2018-12-23 14:15:57,652 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:15:57,653 INFO L93 Difference]: Finished difference Result 139 states and 514 transitions. [2018-12-23 14:15:57,653 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 514 transitions. [2018-12-23 14:15:57,653 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:15:57,653 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:15:57,653 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 139 states. [2018-12-23 14:15:57,653 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 139 states. [2018-12-23 14:15:57,656 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:15:57,656 INFO L93 Difference]: Finished difference Result 139 states and 514 transitions. [2018-12-23 14:15:57,656 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 514 transitions. [2018-12-23 14:15:57,657 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:15:57,657 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:15:57,657 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:15:57,657 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:15:57,657 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 76 states. [2018-12-23 14:15:57,658 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 355 transitions. [2018-12-23 14:15:57,659 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 355 transitions. Word has length 6 [2018-12-23 14:15:57,659 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:15:57,659 INFO L480 AbstractCegarLoop]: Abstraction has 76 states and 355 transitions. [2018-12-23 14:15:57,659 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-12-23 14:15:57,659 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 355 transitions. [2018-12-23 14:15:57,659 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:15:57,659 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:15:57,659 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:15:57,659 INFO L423 AbstractCegarLoop]: === Iteration 50 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:15:57,660 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:15:57,660 INFO L82 PathProgramCache]: Analyzing trace with hash 904568030, now seen corresponding path program 1 times [2018-12-23 14:15:57,660 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:15:57,660 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:15:57,660 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:15:57,660 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:15:57,660 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:15:57,663 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:15:57,802 INFO L273 TraceCheckUtils]: 0: Hoare triple {18602#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {18604#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:15:57,803 INFO L273 TraceCheckUtils]: 1: Hoare triple {18604#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {18605#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-23 14:15:57,804 INFO L273 TraceCheckUtils]: 2: Hoare triple {18605#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:15:57,805 INFO L273 TraceCheckUtils]: 3: Hoare triple {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:15:57,805 INFO L273 TraceCheckUtils]: 4: Hoare triple {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:15:57,806 INFO L273 TraceCheckUtils]: 5: Hoare triple {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {18603#false} is VALID [2018-12-23 14:15:57,806 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-23 14:15:57,806 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:15:57,807 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:15:57,807 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-23 14:15:57,807 INFO L207 CegarAbsIntRunner]: [0], [14], [18], [24], [26], [27] [2018-12-23 14:15:57,808 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:15:57,809 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:15:57,825 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:15:57,825 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:15:57,825 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:15:57,826 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:15:57,826 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:15:57,826 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 48 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 48 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:15:57,835 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:15:57,835 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:15:57,839 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:15:57,844 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:15:57,844 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:15:57,867 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:15:57,873 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:15:57,883 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 25 [2018-12-23 14:15:57,899 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:57,900 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 31 [2018-12-23 14:15:57,916 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:57,925 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:57,926 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 38 [2018-12-23 14:15:57,930 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:15:57,948 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:15:57,961 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:15:57,973 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:15:57,986 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:15:58,002 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-23 14:15:58,003 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:25, output treesize:32 [2018-12-23 14:15:58,009 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:15:58,009 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_279|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (= |#memory_int| (store (store (store (store (store |v_#memory_int_279| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2018-12-23 14:15:58,009 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:15:58,067 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:58,069 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:58,070 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:58,071 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15: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, 4 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 28 [2018-12-23 14:15:58,076 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:15:58,093 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-23 14:15:58,094 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2018-12-23 14:15:58,100 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:15:58,100 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_280|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_280| ULTIMATE.start_main_p4))) (and (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_280| ULTIMATE.start_main_p3) 0) (= 0 (select |v_#memory_int_280| ULTIMATE.start_main_p5)) (= (store |v_#memory_int_280| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) [2018-12-23 14:15:58,100 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2018-12-23 14:15:58,148 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:58,150 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:58,151 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:58,152 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:58,153 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:58,154 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:15:58,155 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 50 [2018-12-23 14:15:58,159 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:15:58,183 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-23 14:15:58,184 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2018-12-23 14:15:58,189 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:15:58,190 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_281|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_281| ULTIMATE.start_main_p3))) (and (= (store |v_#memory_int_281| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (select |v_#memory_int_281| ULTIMATE.start_main_p5) 0) (= (+ (select |v_#memory_int_281| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) [2018-12-23 14:15:58,190 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2018-12-23 14:15:58,245 INFO L273 TraceCheckUtils]: 0: Hoare triple {18602#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {18610#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:15:58,247 INFO L273 TraceCheckUtils]: 1: Hoare triple {18610#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {18614#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-23 14:15:58,248 INFO L273 TraceCheckUtils]: 2: Hoare triple {18614#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {18618#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-23 14:15:58,248 INFO L273 TraceCheckUtils]: 3: Hoare triple {18618#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {18618#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-23 14:15:58,249 INFO L273 TraceCheckUtils]: 4: Hoare triple {18618#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {18618#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-23 14:15:58,249 INFO L273 TraceCheckUtils]: 5: Hoare triple {18618#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {18603#false} is VALID [2018-12-23 14:15:58,250 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-23 14:15:58,250 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:15:58,285 INFO L273 TraceCheckUtils]: 5: Hoare triple {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {18603#false} is VALID [2018-12-23 14:15:58,286 INFO L273 TraceCheckUtils]: 4: Hoare triple {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:15:58,287 INFO L273 TraceCheckUtils]: 3: Hoare triple {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:15:58,288 INFO L273 TraceCheckUtils]: 2: Hoare triple {18637#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:15:58,289 INFO L273 TraceCheckUtils]: 1: Hoare triple {18641#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {18637#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1))} is VALID [2018-12-23 14:15:58,291 INFO L273 TraceCheckUtils]: 0: Hoare triple {18602#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {18641#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1))} is VALID [2018-12-23 14:15:58,291 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-23 14:15:58,311 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:15:58,311 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2018-12-23 14:15:58,311 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:15:58,312 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-23 14:15:58,312 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:15:58,312 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:15:58,328 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:15:58,328 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:15:58,329 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:15:58,329 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=51, Unknown=0, NotChecked=0, Total=90 [2018-12-23 14:15:58,329 INFO L87 Difference]: Start difference. First operand 76 states and 355 transitions. Second operand 8 states. [2018-12-23 14:16:01,586 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:16:01,586 INFO L93 Difference]: Finished difference Result 112 states and 470 transitions. [2018-12-23 14:16:01,586 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-23 14:16:01,586 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-23 14:16:01,586 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:16:01,587 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:16:01,587 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2018-12-23 14:16:01,587 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:16:01,587 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2018-12-23 14:16:01,587 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 59 transitions. [2018-12-23 14:16:01,662 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:16:01,665 INFO L225 Difference]: With dead ends: 112 [2018-12-23 14:16:01,665 INFO L226 Difference]: Without dead ends: 111 [2018-12-23 14:16:01,665 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=47, Invalid=63, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:16:01,666 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states. [2018-12-23 14:16:04,432 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 80. [2018-12-23 14:16:04,432 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:16:04,432 INFO L82 GeneralOperation]: Start isEquivalent. First operand 111 states. Second operand 80 states. [2018-12-23 14:16:04,433 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand 80 states. [2018-12-23 14:16:04,433 INFO L87 Difference]: Start difference. First operand 111 states. Second operand 80 states. [2018-12-23 14:16:04,436 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:16:04,436 INFO L93 Difference]: Finished difference Result 111 states and 468 transitions. [2018-12-23 14:16:04,436 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 468 transitions. [2018-12-23 14:16:04,436 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:16:04,436 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:16:04,436 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand 111 states. [2018-12-23 14:16:04,436 INFO L87 Difference]: Start difference. First operand 80 states. Second operand 111 states. [2018-12-23 14:16:04,438 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:16:04,439 INFO L93 Difference]: Finished difference Result 111 states and 468 transitions. [2018-12-23 14:16:04,439 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 468 transitions. [2018-12-23 14:16:04,439 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:16:04,439 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:16:04,439 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:16:04,439 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:16:04,439 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 80 states. [2018-12-23 14:16:04,441 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 80 states to 80 states and 380 transitions. [2018-12-23 14:16:04,441 INFO L78 Accepts]: Start accepts. Automaton has 80 states and 380 transitions. Word has length 6 [2018-12-23 14:16:04,441 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:16:04,441 INFO L480 AbstractCegarLoop]: Abstraction has 80 states and 380 transitions. [2018-12-23 14:16:04,441 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:16:04,441 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 380 transitions. [2018-12-23 14:16:04,441 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:16:04,441 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:16:04,441 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:16:04,442 INFO L423 AbstractCegarLoop]: === Iteration 51 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:16:04,442 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:16:04,442 INFO L82 PathProgramCache]: Analyzing trace with hash 906170478, now seen corresponding path program 2 times [2018-12-23 14:16:04,442 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:16:04,442 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:16:04,443 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:16:04,443 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:16:04,443 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:16:04,445 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:16:04,711 INFO L273 TraceCheckUtils]: 0: Hoare triple {19192#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {19194#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:16:04,712 INFO L273 TraceCheckUtils]: 1: Hoare triple {19194#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {19195#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:16:04,713 INFO L273 TraceCheckUtils]: 2: Hoare triple {19195#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {19196#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:16:04,714 INFO L273 TraceCheckUtils]: 3: Hoare triple {19196#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {19197#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:16:04,715 INFO L273 TraceCheckUtils]: 4: Hoare triple {19197#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {19198#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:16:04,716 INFO L273 TraceCheckUtils]: 5: Hoare triple {19198#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {19193#false} is VALID [2018-12-23 14:16:04,717 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:16:04,717 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:16:04,717 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:16:04,717 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-23 14:16:04,717 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2018-12-23 14:16:04,717 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:16:04,718 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 49 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 49 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:16:04,727 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-23 14:16:04,727 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-23 14:16:04,734 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-12-23 14:16:04,734 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-23 14:16:04,740 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:16:04,740 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:16:04,754 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:16:04,759 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:04,760 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:16:04,769 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:04,770 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:04,771 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:16:04,784 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:04,786 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:04,787 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:04,788 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:16:04,807 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:04,809 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:04,810 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:04,812 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:04,813 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:16:04,816 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:16:04,847 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:16:04,864 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:16:04,877 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:16:04,889 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:16:04,919 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:16:04,919 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2018-12-23 14:16:04,928 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:16:04,928 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_284|, ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_284| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:16:04,929 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:16:04,985 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:04,987 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:04,988 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:04,990 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:04,991 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:04,992 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:04,994 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:04,995 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:04,996 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:04,998 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:04,999 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:05,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, 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-23 14:16:05,003 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:16:05,049 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-23 14:16:05,049 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-23 14:16:06,970 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:16:06,971 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_285|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_285| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 .cse0) (= (select |v_#memory_int_285| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_285| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_285| ULTIMATE.start_main_p5 (+ .cse0 1))) (= 0 (select |v_#memory_int_285| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_285| ULTIMATE.start_main_p4)))) [2018-12-23 14:16:06,971 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:16:07,070 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,072 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,073 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,074 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,075 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,077 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,078 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,079 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,080 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,082 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,083 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,084 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,084 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:16:07,085 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-23 14:16:07,088 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:16:07,136 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-23 14:16:07,137 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-23 14:16:07,153 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:16:07,154 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_286|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_286| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_286| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_286| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_286| ULTIMATE.start_main_p5) 1) (= (select |v_#memory_int_286| ULTIMATE.start_main_p4) 0) (= 0 .cse0) (= (select |v_#memory_int_286| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:16:07,154 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:16:07,215 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,217 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,218 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,219 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,221 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,222 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,224 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,225 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,227 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,228 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,229 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,231 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,232 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,233 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-23 14:16:07,236 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:16:07,283 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-23 14:16:07,284 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-23 14:16:07,299 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:16:07,299 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_287|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_287| ULTIMATE.start_main_p4))) (and (= |#memory_int| (store |v_#memory_int_287| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= (select |v_#memory_int_287| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_287| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_287| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 .cse0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 1 (select |v_#memory_int_287| ULTIMATE.start_main_p1)))) [2018-12-23 14:16:07,300 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:16:07,364 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,366 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,367 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,368 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,370 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,371 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,372 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,374 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,375 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,376 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,377 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,378 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,379 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:16:07,380 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:07,381 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 93 [2018-12-23 14:16:07,384 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:16:07,440 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-23 14:16:07,440 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2018-12-23 14:16:09,623 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:16:09,623 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_288|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_288| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_288| ULTIMATE.start_main_p3) 0) (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_288| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (+ (select |v_#memory_int_288| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_288| ULTIMATE.start_main_p5) 1) (= 1 (select |v_#memory_int_288| ULTIMATE.start_main_p1)))) [2018-12-23 14:16:09,623 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:16:09,735 INFO L273 TraceCheckUtils]: 0: Hoare triple {19192#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {19202#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:16:09,738 INFO L273 TraceCheckUtils]: 1: Hoare triple {19202#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {19206#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:16:09,741 INFO L273 TraceCheckUtils]: 2: Hoare triple {19206#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {19210#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:16:09,745 INFO L273 TraceCheckUtils]: 3: Hoare triple {19210#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {19214#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:16:09,751 INFO L273 TraceCheckUtils]: 4: Hoare triple {19214#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {19218#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2018-12-23 14:16:09,752 INFO L273 TraceCheckUtils]: 5: Hoare triple {19218#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {19193#false} is VALID [2018-12-23 14:16:09,752 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:16:09,752 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:16:09,847 INFO L273 TraceCheckUtils]: 5: Hoare triple {19222#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {19193#false} is VALID [2018-12-23 14:16:09,848 INFO L273 TraceCheckUtils]: 4: Hoare triple {19226#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {19222#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:16:09,849 INFO L273 TraceCheckUtils]: 3: Hoare triple {19230#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {19226#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:16:09,851 INFO L273 TraceCheckUtils]: 2: Hoare triple {19234#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {19230#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:16:09,853 INFO L273 TraceCheckUtils]: 1: Hoare triple {19238#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {19234#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:16:09,856 INFO L273 TraceCheckUtils]: 0: Hoare triple {19192#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {19238#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:16:09,856 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 5 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:16:09,877 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:16:09,878 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2018-12-23 14:16:09,878 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:16:09,878 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2018-12-23 14:16:09,878 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:16:09,878 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-12-23 14:16:09,901 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:16:09,901 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-12-23 14:16:09,902 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-12-23 14:16:09,902 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=100, Invalid=172, Unknown=0, NotChecked=0, Total=272 [2018-12-23 14:16:09,902 INFO L87 Difference]: Start difference. First operand 80 states and 380 transitions. Second operand 12 states. [2018-12-23 14:16:16,860 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:16:16,861 INFO L93 Difference]: Finished difference Result 137 states and 479 transitions. [2018-12-23 14:16:16,861 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-23 14:16:16,861 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2018-12-23 14:16:16,861 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:16:16,861 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-23 14:16:16,862 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 94 transitions. [2018-12-23 14:16:16,862 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-23 14:16:16,862 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 94 transitions. [2018-12-23 14:16:16,862 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 94 transitions. [2018-12-23 14:16:17,088 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:16:17,091 INFO L225 Difference]: With dead ends: 137 [2018-12-23 14:16:17,091 INFO L226 Difference]: Without dead ends: 135 [2018-12-23 14:16:17,091 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 99 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=132, Invalid=248, Unknown=0, NotChecked=0, Total=380 [2018-12-23 14:16:17,092 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 135 states. [2018-12-23 14:16:19,054 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 135 to 77. [2018-12-23 14:16:19,054 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:16:19,055 INFO L82 GeneralOperation]: Start isEquivalent. First operand 135 states. Second operand 77 states. [2018-12-23 14:16:19,055 INFO L74 IsIncluded]: Start isIncluded. First operand 135 states. Second operand 77 states. [2018-12-23 14:16:19,055 INFO L87 Difference]: Start difference. First operand 135 states. Second operand 77 states. [2018-12-23 14:16:19,059 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:16:19,060 INFO L93 Difference]: Finished difference Result 135 states and 474 transitions. [2018-12-23 14:16:19,060 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 474 transitions. [2018-12-23 14:16:19,060 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:16:19,060 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:16:19,060 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 135 states. [2018-12-23 14:16:19,060 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 135 states. [2018-12-23 14:16:19,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:16:19,064 INFO L93 Difference]: Finished difference Result 135 states and 474 transitions. [2018-12-23 14:16:19,064 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 474 transitions. [2018-12-23 14:16:19,064 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:16:19,065 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:16:19,065 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:16:19,065 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:16:19,065 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2018-12-23 14:16:19,067 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 361 transitions. [2018-12-23 14:16:19,067 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 361 transitions. Word has length 6 [2018-12-23 14:16:19,067 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:16:19,068 INFO L480 AbstractCegarLoop]: Abstraction has 77 states and 361 transitions. [2018-12-23 14:16:19,068 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-12-23 14:16:19,068 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 361 transitions. [2018-12-23 14:16:19,068 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:16:19,068 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:16:19,068 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:16:19,068 INFO L423 AbstractCegarLoop]: === Iteration 52 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:16:19,069 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:16:19,069 INFO L82 PathProgramCache]: Analyzing trace with hash 906163226, now seen corresponding path program 1 times [2018-12-23 14:16:19,069 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:16:19,070 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:16:19,070 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-23 14:16:19,070 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:16:19,070 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:16:19,073 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:16:19,516 INFO L273 TraceCheckUtils]: 0: Hoare triple {19857#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {19859#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:16:19,517 INFO L273 TraceCheckUtils]: 1: Hoare triple {19859#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {19860#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:16:19,518 INFO L273 TraceCheckUtils]: 2: Hoare triple {19860#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {19860#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:16:19,519 INFO L273 TraceCheckUtils]: 3: Hoare triple {19860#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {19861#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-23 14:16:19,519 INFO L273 TraceCheckUtils]: 4: Hoare triple {19861#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {19862#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:16:19,520 INFO L273 TraceCheckUtils]: 5: Hoare triple {19862#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {19858#false} is VALID [2018-12-23 14:16:19,520 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-23 14:16:19,521 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:16:19,521 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:16:19,521 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-23 14:16:19,521 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [20], [24], [25] [2018-12-23 14:16:19,522 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:16:19,522 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:16:19,535 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:16:19,535 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-23 14:16:19,535 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:16:19,535 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:16:19,536 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:16:19,536 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 50 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 50 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:16:19,545 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:16:19,546 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:16:19,550 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:16:19,556 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:16:19,556 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:16:19,595 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:16:19,606 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:19,607 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:16:19,621 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:19,622 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:19,623 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:16:19,643 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:19,645 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:19,647 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:19,648 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:16:19,675 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:19,676 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:19,678 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:19,679 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:19,680 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:16:19,690 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:16:19,722 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:16:19,741 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:16:19,755 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:16:19,768 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:16:19,796 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-23 14:16:19,796 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2018-12-23 14:16:19,817 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:16:19,817 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_293|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_293| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:16:19,817 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:16:19,909 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:19,911 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:19,912 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:19,913 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:19,914 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:19,916 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:19,917 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:19,918 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:19,919 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:19,920 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:19,922 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:19,923 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-23 14:16:19,932 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:16:20,002 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-23 14:16:20,002 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-23 14:16:20,139 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:16:20,139 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_294|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_294| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_294| ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_294| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_294| ULTIMATE.start_main_p1)) (= 0 .cse0) (= 0 (select |v_#memory_int_294| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_294| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:16:20,139 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:16:20,201 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:20,203 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:20,204 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:20,205 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:20,207 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:20,208 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:20,210 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:20,211 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:20,212 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:20,214 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:20,215 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:20,216 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:20,217 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:16:20,218 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-23 14:16:20,221 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:16:20,273 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-23 14:16:20,274 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-23 14:16:20,339 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:16:20,339 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_295|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_295| ULTIMATE.start_main_p1))) (and (= |#memory_int| (store |v_#memory_int_295| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_295| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_295| ULTIMATE.start_main_p4) 0) (= 1 (select |v_#memory_int_295| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 .cse0) (= 0 (select |v_#memory_int_295| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:16:20,339 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:16:20,400 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:20,402 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:20,403 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:20,404 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:20,405 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:20,406 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:20,408 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:20,409 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:20,410 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:20,411 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:20,412 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:20,413 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:20,415 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:20,415 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-23 14:16:20,418 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:16:20,469 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-23 14:16:20,469 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-23 14:16:20,530 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:16:20,531 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_296|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_296| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_296| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_296| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_296| ULTIMATE.start_main_p1) 1) (= (select |v_#memory_int_296| ULTIMATE.start_main_p5) 1) (= (select |v_#memory_int_296| ULTIMATE.start_main_p4) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:16:20,531 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:16:20,598 INFO L273 TraceCheckUtils]: 0: Hoare triple {19857#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {19866#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:16:20,600 INFO L273 TraceCheckUtils]: 1: Hoare triple {19866#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {19870#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:16:20,607 INFO L273 TraceCheckUtils]: 2: Hoare triple {19870#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {19874#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-23 14:16:20,610 INFO L273 TraceCheckUtils]: 3: Hoare triple {19874#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {19878#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-23 14:16:20,611 INFO L273 TraceCheckUtils]: 4: Hoare triple {19878#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {19878#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-23 14:16:20,611 INFO L273 TraceCheckUtils]: 5: Hoare triple {19878#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p2] <= 0); {19858#false} is VALID [2018-12-23 14:16:20,612 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-23 14:16:20,612 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:16:20,654 INFO L273 TraceCheckUtils]: 5: Hoare triple {19862#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {19858#false} is VALID [2018-12-23 14:16:20,655 INFO L273 TraceCheckUtils]: 4: Hoare triple {19862#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {19862#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:16:20,656 INFO L273 TraceCheckUtils]: 3: Hoare triple {19891#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {19862#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:16:20,657 INFO L273 TraceCheckUtils]: 2: Hoare triple {19895#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {19891#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2018-12-23 14:16:20,658 INFO L273 TraceCheckUtils]: 1: Hoare triple {19899#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {19895#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2018-12-23 14:16:20,660 INFO L273 TraceCheckUtils]: 0: Hoare triple {19857#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {19899#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2018-12-23 14:16:20,661 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-23 14:16:20,681 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:16:20,681 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2018-12-23 14:16:20,681 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:16:20,682 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-23 14:16:20,682 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:16:20,682 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-23 14:16:20,704 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:16:20,704 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-23 14:16:20,704 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-23 14:16:20,704 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=93, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:16:20,704 INFO L87 Difference]: Start difference. First operand 77 states and 361 transitions. Second operand 10 states. [2018-12-23 14:16:26,622 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:16:26,622 INFO L93 Difference]: Finished difference Result 124 states and 454 transitions. [2018-12-23 14:16:26,622 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-23 14:16:26,622 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-23 14:16:26,623 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:16:26,623 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:16:26,623 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 77 transitions. [2018-12-23 14:16:26,623 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:16:26,624 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 77 transitions. [2018-12-23 14:16:26,624 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 77 transitions. [2018-12-23 14:16:26,829 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-23 14:16:26,831 INFO L225 Difference]: With dead ends: 124 [2018-12-23 14:16:26,831 INFO L226 Difference]: Without dead ends: 123 [2018-12-23 14:16:26,831 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 51 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=91, Invalid=149, Unknown=0, NotChecked=0, Total=240 [2018-12-23 14:16:26,831 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 123 states. [2018-12-23 14:16:28,993 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 123 to 84. [2018-12-23 14:16:28,993 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:16:28,993 INFO L82 GeneralOperation]: Start isEquivalent. First operand 123 states. Second operand 84 states. [2018-12-23 14:16:28,994 INFO L74 IsIncluded]: Start isIncluded. First operand 123 states. Second operand 84 states. [2018-12-23 14:16:28,994 INFO L87 Difference]: Start difference. First operand 123 states. Second operand 84 states. [2018-12-23 14:16:28,997 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:16:28,997 INFO L93 Difference]: Finished difference Result 123 states and 452 transitions. [2018-12-23 14:16:28,997 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 452 transitions. [2018-12-23 14:16:28,998 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:16:28,998 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:16:28,998 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand 123 states. [2018-12-23 14:16:28,998 INFO L87 Difference]: Start difference. First operand 84 states. Second operand 123 states. [2018-12-23 14:16:29,001 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:16:29,001 INFO L93 Difference]: Finished difference Result 123 states and 452 transitions. [2018-12-23 14:16:29,001 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 452 transitions. [2018-12-23 14:16:29,001 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:16:29,001 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:16:29,001 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:16:29,001 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:16:29,001 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 84 states. [2018-12-23 14:16:29,003 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 403 transitions. [2018-12-23 14:16:29,003 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 403 transitions. Word has length 6 [2018-12-23 14:16:29,003 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:16:29,003 INFO L480 AbstractCegarLoop]: Abstraction has 84 states and 403 transitions. [2018-12-23 14:16:29,003 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-23 14:16:29,004 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 403 transitions. [2018-12-23 14:16:29,004 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:16:29,004 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:16:29,004 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:16:29,004 INFO L423 AbstractCegarLoop]: === Iteration 53 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:16:29,005 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:16:29,005 INFO L82 PathProgramCache]: Analyzing trace with hash 906167070, now seen corresponding path program 1 times [2018-12-23 14:16:29,005 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:16:29,005 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:16:29,005 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:16:29,006 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:16:29,006 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:16:29,008 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:16:29,253 INFO L273 TraceCheckUtils]: 0: Hoare triple {20493#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {20495#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:16:29,254 INFO L273 TraceCheckUtils]: 1: Hoare triple {20495#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {20496#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:16:29,255 INFO L273 TraceCheckUtils]: 2: Hoare triple {20496#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {20496#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:16:29,256 INFO L273 TraceCheckUtils]: 3: Hoare triple {20496#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {20497#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:16:29,257 INFO L273 TraceCheckUtils]: 4: Hoare triple {20497#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {20497#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:16:29,257 INFO L273 TraceCheckUtils]: 5: Hoare triple {20497#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {20494#false} is VALID [2018-12-23 14:16:29,258 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-23 14:16:29,258 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:16:29,258 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:16:29,258 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-23 14:16:29,258 INFO L207 CegarAbsIntRunner]: [0], [6], [14], [20], [24], [25] [2018-12-23 14:16:29,259 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:16:29,260 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:16:29,268 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:16:29,268 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-23 14:16:29,269 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:16:29,269 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:16:29,269 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:16:29,269 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 51 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 51 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:16:29,280 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:16:29,280 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:16:29,284 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:16:29,288 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:16:29,289 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:16:29,314 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:16:29,325 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:29,326 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:16:29,340 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:29,341 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:29,342 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:16:29,362 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:29,364 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:29,365 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:29,366 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:16:29,393 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:29,395 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:29,396 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:29,397 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:29,398 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:16:29,405 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:16:29,436 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:16:29,454 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:16:29,469 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:16:29,483 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:16:29,509 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:16:29,509 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2018-12-23 14:16:29,520 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:16:29,521 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_300|, ULTIMATE.start_main_p4]. (and (= (store (store (store (store (store |v_#memory_int_300| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:16:29,521 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:16:29,600 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:29,601 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:29,602 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:29,604 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:29,605 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:29,606 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:29,607 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:29,609 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:29,610 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:29,611 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:29,612 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:29,613 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2018-12-23 14:16:29,619 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:16:29,671 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-23 14:16:29,671 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-23 14:16:29,681 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:16:29,681 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_301|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_301| ULTIMATE.start_main_p5))) (and (= 0 (select |v_#memory_int_301| ULTIMATE.start_main_p4)) (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_301| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_301| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_301| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_301| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:16:29,681 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:16:29,757 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:29,759 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:29,760 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:29,761 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:29,762 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:29,764 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:29,765 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:29,766 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:29,767 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:29,769 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:29,770 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:29,771 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:29,772 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:16:29,772 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 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-23 14:16:29,778 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:16:29,831 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-23 14:16:29,832 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-23 14:16:30,165 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:16:30,165 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_302|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_302| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_302| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (select |v_#memory_int_302| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_302| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_302| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_302| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:16:30,166 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:16:30,252 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:30,253 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:30,255 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:30,256 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:30,257 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:30,259 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:30,260 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:30,261 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:30,263 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:30,264 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:30,265 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:30,266 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:30,267 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:16:30,268 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-23 14:16:30,275 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:16:30,327 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-23 14:16:30,328 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-23 14:16:30,408 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:16:30,408 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_303|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_303| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_303| ULTIMATE.start_main_p2) 0) (= 0 .cse0) (= 1 (select |v_#memory_int_303| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_303| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (select |v_#memory_int_303| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_303| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:16:30,408 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:16:30,490 INFO L273 TraceCheckUtils]: 0: Hoare triple {20493#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {20501#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:16:30,492 INFO L273 TraceCheckUtils]: 1: Hoare triple {20501#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {20505#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:16:30,494 INFO L273 TraceCheckUtils]: 2: Hoare triple {20505#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {20509#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:16:30,497 INFO L273 TraceCheckUtils]: 3: Hoare triple {20509#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {20513#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:16:30,498 INFO L273 TraceCheckUtils]: 4: Hoare triple {20513#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {20513#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:16:30,499 INFO L273 TraceCheckUtils]: 5: Hoare triple {20513#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {20494#false} is VALID [2018-12-23 14:16:30,499 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-23 14:16:30,499 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:16:30,582 INFO L273 TraceCheckUtils]: 5: Hoare triple {20520#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {20494#false} is VALID [2018-12-23 14:16:30,582 INFO L273 TraceCheckUtils]: 4: Hoare triple {20520#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {20520#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:16:30,583 INFO L273 TraceCheckUtils]: 3: Hoare triple {20527#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {20520#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:16:30,585 INFO L273 TraceCheckUtils]: 2: Hoare triple {20531#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {20527#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:16:30,587 INFO L273 TraceCheckUtils]: 1: Hoare triple {20535#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {20531#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:16:30,589 INFO L273 TraceCheckUtils]: 0: Hoare triple {20493#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {20535#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:16:30,589 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-23 14:16:30,608 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:16:30,609 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 4, 4] total 11 [2018-12-23 14:16:30,609 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:16:30,609 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 6 [2018-12-23 14:16:30,609 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:16:30,609 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-12-23 14:16:30,630 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:16:30,630 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-12-23 14:16:30,630 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-12-23 14:16:30,631 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=99, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:16:30,631 INFO L87 Difference]: Start difference. First operand 84 states and 403 transitions. Second operand 9 states. [2018-12-23 14:16:34,705 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:16:34,705 INFO L93 Difference]: Finished difference Result 119 states and 475 transitions. [2018-12-23 14:16:34,705 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-23 14:16:34,705 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 6 [2018-12-23 14:16:34,705 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:16:34,705 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-12-23 14:16:34,706 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 64 transitions. [2018-12-23 14:16:34,706 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-12-23 14:16:34,706 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 64 transitions. [2018-12-23 14:16:34,706 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 64 transitions. [2018-12-23 14:16:34,833 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:16:34,836 INFO L225 Difference]: With dead ends: 119 [2018-12-23 14:16:34,836 INFO L226 Difference]: Without dead ends: 118 [2018-12-23 14:16:34,836 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 51 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=87, Invalid=153, Unknown=0, NotChecked=0, Total=240 [2018-12-23 14:16:34,836 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 118 states. [2018-12-23 14:16:37,716 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 118 to 91. [2018-12-23 14:16:37,716 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:16:37,716 INFO L82 GeneralOperation]: Start isEquivalent. First operand 118 states. Second operand 91 states. [2018-12-23 14:16:37,716 INFO L74 IsIncluded]: Start isIncluded. First operand 118 states. Second operand 91 states. [2018-12-23 14:16:37,717 INFO L87 Difference]: Start difference. First operand 118 states. Second operand 91 states. [2018-12-23 14:16:37,720 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:16:37,720 INFO L93 Difference]: Finished difference Result 118 states and 473 transitions. [2018-12-23 14:16:37,721 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 473 transitions. [2018-12-23 14:16:37,721 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:16:37,721 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:16:37,721 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand 118 states. [2018-12-23 14:16:37,721 INFO L87 Difference]: Start difference. First operand 91 states. Second operand 118 states. [2018-12-23 14:16:37,723 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:16:37,724 INFO L93 Difference]: Finished difference Result 118 states and 473 transitions. [2018-12-23 14:16:37,724 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 473 transitions. [2018-12-23 14:16:37,724 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:16:37,724 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:16:37,724 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:16:37,724 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:16:37,724 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 91 states. [2018-12-23 14:16:37,726 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 445 transitions. [2018-12-23 14:16:37,726 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 445 transitions. Word has length 6 [2018-12-23 14:16:37,726 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:16:37,727 INFO L480 AbstractCegarLoop]: Abstraction has 91 states and 445 transitions. [2018-12-23 14:16:37,727 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-12-23 14:16:37,727 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 445 transitions. [2018-12-23 14:16:37,727 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:16:37,727 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:16:37,727 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:16:37,727 INFO L423 AbstractCegarLoop]: === Iteration 54 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:16:37,727 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:16:37,728 INFO L82 PathProgramCache]: Analyzing trace with hash 906285674, now seen corresponding path program 1 times [2018-12-23 14:16:37,728 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:16:37,728 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:16:37,728 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:16:37,728 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:16:37,729 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:16:37,731 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:16:38,394 WARN L181 SmtUtils]: Spent 285.00 ms on a formula simplification. DAG size of input: 40 DAG size of output: 21 [2018-12-23 14:16:38,512 INFO L273 TraceCheckUtils]: 0: Hoare triple {21133#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {21135#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:16:38,513 INFO L273 TraceCheckUtils]: 1: Hoare triple {21135#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {21136#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:16:38,514 INFO L273 TraceCheckUtils]: 2: Hoare triple {21136#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {21137#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:16:38,515 INFO L273 TraceCheckUtils]: 3: Hoare triple {21137#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {21138#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:16:38,516 INFO L273 TraceCheckUtils]: 4: Hoare triple {21138#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {21139#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:16:38,516 INFO L273 TraceCheckUtils]: 5: Hoare triple {21139#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {21134#false} is VALID [2018-12-23 14:16:38,517 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:16:38,517 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:16:38,517 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:16:38,517 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-23 14:16:38,518 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [14], [20], [23] [2018-12-23 14:16:38,519 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:16:38,519 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:16:38,525 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:16:38,526 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 4 fixpoints after 4 different actions. Largest state had 0 variables. [2018-12-23 14:16:38,526 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:16:38,526 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:16:38,526 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:16:38,526 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 52 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 52 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:16:38,536 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:16:38,536 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:16:38,542 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:16:38,550 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:16:38,551 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:16:38,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, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:16:38,596 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:38,597 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:16:38,612 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:38,614 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:38,615 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:16:38,633 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:38,635 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:38,636 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:38,637 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:16:38,662 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:38,664 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:38,665 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:38,666 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:38,667 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:16:38,674 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:16:38,704 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:16:38,722 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:16:38,737 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:16:38,751 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:16:38,776 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:16:38,777 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2018-12-23 14:16:38,788 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:16:38,788 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_307|, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_307| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:16:38,789 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:16:38,871 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:38,872 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:38,873 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:38,874 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:38,875 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:38,877 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:38,878 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:38,879 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:38,881 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:38,882 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:38,884 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:38,885 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-23 14:16:38,890 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:16:38,942 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-23 14:16:38,942 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-23 14:16:38,958 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:16:38,959 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_308|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_308| ULTIMATE.start_main_p5))) (and (= 0 (select |v_#memory_int_308| ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_308| ULTIMATE.start_main_p5 (+ .cse0 1))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_308| ULTIMATE.start_main_p1)) (= .cse0 0) (= 0 (select |v_#memory_int_308| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_308| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:16:38,959 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:16:39,041 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:39,042 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:39,044 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:39,045 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:39,046 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:39,047 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:39,049 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:39,050 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:39,051 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:39,052 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:39,053 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:39,054 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:39,055 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:39,056 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-23 14:16:39,063 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:16:39,116 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-23 14:16:39,117 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-23 14:16:41,146 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:16:41,147 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_309|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_309| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_309| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_309| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_309| ULTIMATE.start_main_p5) 1) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store |v_#memory_int_309| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_309| ULTIMATE.start_main_p3)))) [2018-12-23 14:16:41,147 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:16:41,244 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:41,245 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:41,247 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:41,248 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:41,249 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:41,251 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:41,252 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:41,253 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:41,255 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:41,256 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:41,257 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:41,258 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:41,260 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:41,261 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:41,261 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:16:41,262 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 98 [2018-12-23 14:16:41,269 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:16:41,330 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-23 14:16:41,331 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2018-12-23 14:16:41,382 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:16:41,382 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_310|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_310| ULTIMATE.start_main_p3))) (and (= |#memory_int| (store |v_#memory_int_310| ULTIMATE.start_main_p3 (+ .cse0 1))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_310| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_310| ULTIMATE.start_main_p4) 0) (= (+ (select |v_#memory_int_310| ULTIMATE.start_main_p2) 1) 0) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_310| ULTIMATE.start_main_p5) 1))) [2018-12-23 14:16:41,382 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-23 14:16:41,504 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:41,505 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:41,506 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:41,507 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:41,508 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:41,510 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:41,511 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:41,512 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:41,514 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:41,515 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:41,516 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:41,518 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:41,519 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:41,520 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:41,521 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:16:41,522 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 98 [2018-12-23 14:16:41,529 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:16:41,593 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-23 14:16:41,593 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2018-12-23 14:16:41,613 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:16:41,613 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_311|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_311| ULTIMATE.start_main_p1))) (and (= 1 (select |v_#memory_int_311| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_311| ULTIMATE.start_main_p4)) (= 0 (+ (select |v_#memory_int_311| ULTIMATE.start_main_p2) 1)) (= |#memory_int| (store |v_#memory_int_311| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 .cse0) (= (select |v_#memory_int_311| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:16:41,613 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-23 14:16:41,680 INFO L273 TraceCheckUtils]: 0: Hoare triple {21133#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {21143#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:16:41,682 INFO L273 TraceCheckUtils]: 1: Hoare triple {21143#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {21147#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:16:41,684 INFO L273 TraceCheckUtils]: 2: Hoare triple {21147#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {21151#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-23 14:16:41,688 INFO L273 TraceCheckUtils]: 3: Hoare triple {21151#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {21155#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2018-12-23 14:16:41,697 INFO L273 TraceCheckUtils]: 4: Hoare triple {21155#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {21159#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2018-12-23 14:16:41,698 INFO L273 TraceCheckUtils]: 5: Hoare triple {21159#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {21134#false} is VALID [2018-12-23 14:16:41,698 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:16:41,698 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:16:41,792 INFO L273 TraceCheckUtils]: 5: Hoare triple {21139#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {21134#false} is VALID [2018-12-23 14:16:41,793 INFO L273 TraceCheckUtils]: 4: Hoare triple {21166#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {21139#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:16:41,795 INFO L273 TraceCheckUtils]: 3: Hoare triple {21170#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {21166#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:16:41,796 INFO L273 TraceCheckUtils]: 2: Hoare triple {21174#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {21170#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:16:41,798 INFO L273 TraceCheckUtils]: 1: Hoare triple {21178#(<= 0 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {21174#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:16:41,801 INFO L273 TraceCheckUtils]: 0: Hoare triple {21133#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {21178#(<= 0 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:16:41,801 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 6 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:16:41,822 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:16:41,822 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 14 [2018-12-23 14:16:41,822 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:16:41,823 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2018-12-23 14:16:41,823 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:16:41,823 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-12-23 14:16:41,859 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:16:41,859 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-12-23 14:16:41,859 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-12-23 14:16:41,859 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=97, Invalid=143, Unknown=0, NotChecked=0, Total=240 [2018-12-23 14:16:41,860 INFO L87 Difference]: Start difference. First operand 91 states and 445 transitions. Second operand 12 states. [2018-12-23 14:16:47,404 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:16:47,404 INFO L93 Difference]: Finished difference Result 149 states and 594 transitions. [2018-12-23 14:16:47,404 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-23 14:16:47,404 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2018-12-23 14:16:47,405 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:16:47,405 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-23 14:16:47,405 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 88 transitions. [2018-12-23 14:16:47,405 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-23 14:16:47,405 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 88 transitions. [2018-12-23 14:16:47,406 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 88 transitions. [2018-12-23 14:16:47,695 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:16:47,699 INFO L225 Difference]: With dead ends: 149 [2018-12-23 14:16:47,699 INFO L226 Difference]: Without dead ends: 148 [2018-12-23 14:16:47,700 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 86 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=133, Invalid=209, Unknown=0, NotChecked=0, Total=342 [2018-12-23 14:16:47,700 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 148 states. [2018-12-23 14:16:50,738 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 148 to 98. [2018-12-23 14:16:50,738 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:16:50,738 INFO L82 GeneralOperation]: Start isEquivalent. First operand 148 states. Second operand 98 states. [2018-12-23 14:16:50,738 INFO L74 IsIncluded]: Start isIncluded. First operand 148 states. Second operand 98 states. [2018-12-23 14:16:50,739 INFO L87 Difference]: Start difference. First operand 148 states. Second operand 98 states. [2018-12-23 14:16:50,742 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:16:50,742 INFO L93 Difference]: Finished difference Result 148 states and 592 transitions. [2018-12-23 14:16:50,742 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 592 transitions. [2018-12-23 14:16:50,742 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:16:50,742 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:16:50,742 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand 148 states. [2018-12-23 14:16:50,742 INFO L87 Difference]: Start difference. First operand 98 states. Second operand 148 states. [2018-12-23 14:16:50,768 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:16:50,768 INFO L93 Difference]: Finished difference Result 148 states and 592 transitions. [2018-12-23 14:16:50,768 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 592 transitions. [2018-12-23 14:16:50,770 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:16:50,770 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:16:50,770 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:16:50,770 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:16:50,771 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 98 states. [2018-12-23 14:16:50,774 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 487 transitions. [2018-12-23 14:16:50,774 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 487 transitions. Word has length 6 [2018-12-23 14:16:50,774 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:16:50,774 INFO L480 AbstractCegarLoop]: Abstraction has 98 states and 487 transitions. [2018-12-23 14:16:50,774 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-12-23 14:16:50,774 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 487 transitions. [2018-12-23 14:16:50,775 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:16:50,775 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:16:50,775 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:16:50,775 INFO L423 AbstractCegarLoop]: === Iteration 55 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:16:50,778 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:16:50,778 INFO L82 PathProgramCache]: Analyzing trace with hash 906286234, now seen corresponding path program 1 times [2018-12-23 14:16:50,778 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:16:50,779 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:16:50,779 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:16:50,779 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:16:50,779 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:16:50,781 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:16:50,933 INFO L273 TraceCheckUtils]: 0: Hoare triple {21898#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {21900#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:16:50,952 INFO L273 TraceCheckUtils]: 1: Hoare triple {21900#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {21901#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-23 14:16:50,967 INFO L273 TraceCheckUtils]: 2: Hoare triple {21901#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {21902#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:16:50,982 INFO L273 TraceCheckUtils]: 3: Hoare triple {21902#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {21903#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-23 14:16:50,991 INFO L273 TraceCheckUtils]: 4: Hoare triple {21903#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume #memory_int[main_p1] >= 0; {21903#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-23 14:16:51,000 INFO L273 TraceCheckUtils]: 5: Hoare triple {21903#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {21899#false} is VALID [2018-12-23 14:16:51,000 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-23 14:16:51,001 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:16:51,001 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:16:51,001 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-23 14:16:51,001 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [20], [24], [25] [2018-12-23 14:16:51,003 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:16:51,003 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:16:51,018 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:16:51,018 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-23 14:16:51,019 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:16:51,019 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:16:51,019 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:16:51,019 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 53 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 53 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:16:51,031 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:16:51,031 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:16:51,036 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:16:51,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:16:51,039 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:16:51,069 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:16:51,076 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:16:51,086 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:51,087 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-23 14:16:51,101 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:51,103 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:51,103 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-23 14:16:51,118 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:51,123 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:51,125 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:51,126 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:16:51,128 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:16:51,148 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:16:51,162 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:16:51,174 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:16:51,185 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:16:51,206 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-23 14:16:51,207 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:28, output treesize:35 [2018-12-23 14:16:51,214 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:16:51,214 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_316|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store (store (store (store (store |v_#memory_int_316| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0))) [2018-12-23 14:16:51,215 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:16:51,278 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:51,280 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:51,281 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:51,282 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:51,284 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:51,285 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:51,286 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:51,287 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 51 [2018-12-23 14:16:51,290 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:16:51,319 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-23 14:16:51,319 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2018-12-23 14:16:51,328 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:16:51,328 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_317|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_317| ULTIMATE.start_main_p5))) (and (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_317| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_317| ULTIMATE.start_main_p3) 0) (= 0 (select |v_#memory_int_317| ULTIMATE.start_main_p4)) (= (store |v_#memory_int_317| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:16:51,328 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:16:51,379 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:51,381 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:51,382 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:51,384 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:51,385 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:51,386 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:51,388 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:51,389 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:51,390 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:51,391 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 65 [2018-12-23 14:16:51,394 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:16:51,431 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-23 14:16:51,432 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2018-12-23 14:16:51,440 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:16:51,441 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_318|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_318| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_318| ULTIMATE.start_main_p3)) (= 0 .cse0) (= 1 (select |v_#memory_int_318| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_318| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= |#memory_int| (store |v_#memory_int_318| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:16:51,441 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:16:51,489 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:51,490 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:51,491 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:51,493 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:51,494 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:51,495 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:51,496 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:51,497 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:51,498 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:51,499 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:51,500 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:16:51,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, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 77 [2018-12-23 14:16:51,503 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:16:51,540 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-23 14:16:51,541 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2018-12-23 14:16:51,552 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:16:51,553 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_319|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_319| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_319| ULTIMATE.start_main_p4) 0) (= 0 .cse0) (= (store |v_#memory_int_319| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 0 (+ (select |v_#memory_int_319| ULTIMATE.start_main_p2) 1)) (= (select |v_#memory_int_319| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:16:51,553 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-23 14:16:51,599 INFO L273 TraceCheckUtils]: 0: Hoare triple {21898#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {21907#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:16:51,602 INFO L273 TraceCheckUtils]: 1: Hoare triple {21907#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {21911#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:16:51,604 INFO L273 TraceCheckUtils]: 2: Hoare triple {21911#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {21915#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:16:51,607 INFO L273 TraceCheckUtils]: 3: Hoare triple {21915#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {21919#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:16:51,608 INFO L273 TraceCheckUtils]: 4: Hoare triple {21919#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {21919#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:16:51,609 INFO L273 TraceCheckUtils]: 5: Hoare triple {21919#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {21899#false} is VALID [2018-12-23 14:16:51,609 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-23 14:16:51,609 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:16:51,667 INFO L273 TraceCheckUtils]: 5: Hoare triple {21926#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {21899#false} is VALID [2018-12-23 14:16:51,686 INFO L273 TraceCheckUtils]: 4: Hoare triple {21926#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {21926#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:16:51,699 INFO L273 TraceCheckUtils]: 3: Hoare triple {21933#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {21926#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:16:51,708 INFO L273 TraceCheckUtils]: 2: Hoare triple {21937#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {21933#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:16:51,709 INFO L273 TraceCheckUtils]: 1: Hoare triple {21941#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {21937#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:16:51,711 INFO L273 TraceCheckUtils]: 0: Hoare triple {21898#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {21941#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:16:51,711 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 3 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:16:51,731 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:16:51,731 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-23 14:16:51,731 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:16:51,732 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-23 14:16:51,732 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:16:51,732 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-23 14:16:51,751 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:16:51,751 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-23 14:16:51,752 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-23 14:16:51,752 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=70, Invalid=112, Unknown=0, NotChecked=0, Total=182 [2018-12-23 14:16:51,752 INFO L87 Difference]: Start difference. First operand 98 states and 487 transitions. Second operand 10 states. [2018-12-23 14:16:56,235 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:16:56,235 INFO L93 Difference]: Finished difference Result 139 states and 554 transitions. [2018-12-23 14:16:56,235 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-23 14:16:56,235 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-23 14:16:56,236 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:16:56,236 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:16:56,236 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 78 transitions. [2018-12-23 14:16:56,236 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:16:56,236 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 78 transitions. [2018-12-23 14:16:56,237 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 78 transitions. [2018-12-23 14:16:56,362 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:16:56,365 INFO L225 Difference]: With dead ends: 139 [2018-12-23 14:16:56,365 INFO L226 Difference]: Without dead ends: 138 [2018-12-23 14:16:56,365 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=88, Invalid=152, Unknown=0, NotChecked=0, Total=240 [2018-12-23 14:16:56,366 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 138 states. [2018-12-23 14:16:59,475 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 138 to 101. [2018-12-23 14:16:59,475 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:16:59,476 INFO L82 GeneralOperation]: Start isEquivalent. First operand 138 states. Second operand 101 states. [2018-12-23 14:16:59,476 INFO L74 IsIncluded]: Start isIncluded. First operand 138 states. Second operand 101 states. [2018-12-23 14:16:59,476 INFO L87 Difference]: Start difference. First operand 138 states. Second operand 101 states. [2018-12-23 14:16:59,480 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:16:59,480 INFO L93 Difference]: Finished difference Result 138 states and 552 transitions. [2018-12-23 14:16:59,481 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 552 transitions. [2018-12-23 14:16:59,481 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:16:59,481 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:16:59,481 INFO L74 IsIncluded]: Start isIncluded. First operand 101 states. Second operand 138 states. [2018-12-23 14:16:59,481 INFO L87 Difference]: Start difference. First operand 101 states. Second operand 138 states. [2018-12-23 14:16:59,484 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:16:59,484 INFO L93 Difference]: Finished difference Result 138 states and 552 transitions. [2018-12-23 14:16:59,484 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 552 transitions. [2018-12-23 14:16:59,485 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:16:59,485 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:16:59,485 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:16:59,485 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:16:59,485 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 101 states. [2018-12-23 14:16:59,487 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 101 states to 101 states and 505 transitions. [2018-12-23 14:16:59,487 INFO L78 Accepts]: Start accepts. Automaton has 101 states and 505 transitions. Word has length 6 [2018-12-23 14:16:59,487 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:16:59,488 INFO L480 AbstractCegarLoop]: Abstraction has 101 states and 505 transitions. [2018-12-23 14:16:59,488 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-23 14:16:59,488 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 505 transitions. [2018-12-23 14:16:59,488 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:16:59,488 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:16:59,488 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:16:59,488 INFO L423 AbstractCegarLoop]: === Iteration 56 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:16:59,488 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:16:59,488 INFO L82 PathProgramCache]: Analyzing trace with hash 906397274, now seen corresponding path program 2 times [2018-12-23 14:16:59,489 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:16:59,489 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:16:59,489 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:16:59,489 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:16:59,489 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:16:59,491 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:16:59,817 INFO L273 TraceCheckUtils]: 0: Hoare triple {22629#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {22631#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:16:59,818 INFO L273 TraceCheckUtils]: 1: Hoare triple {22631#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {22632#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:16:59,819 INFO L273 TraceCheckUtils]: 2: Hoare triple {22632#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {22633#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:16:59,820 INFO L273 TraceCheckUtils]: 3: Hoare triple {22633#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {22634#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:16:59,821 INFO L273 TraceCheckUtils]: 4: Hoare triple {22634#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {22635#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:16:59,822 INFO L273 TraceCheckUtils]: 5: Hoare triple {22635#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {22630#false} is VALID [2018-12-23 14:16:59,822 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:16:59,823 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:16:59,823 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:16:59,823 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-23 14:16:59,823 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2018-12-23 14:16:59,823 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:16:59,823 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 54 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 54 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:16:59,833 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-23 14:16:59,833 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-23 14:16:59,839 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-12-23 14:16:59,839 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-23 14:16:59,842 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:16:59,843 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:16:59,870 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:16:59,881 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:59,882 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:16:59,894 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:59,895 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:59,896 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:16:59,912 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:59,913 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:59,914 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:59,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, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:16:59,936 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:59,937 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:59,939 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:59,940 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:16:59,941 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:16:59,945 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:16:59,975 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:16:59,993 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:17:00,007 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:17:00,018 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:17:00,043 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:17:00,043 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2018-12-23 14:17:00,049 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:17:00,050 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_323|, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_323| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:17:00,050 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:17:00,120 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:00,121 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:00,123 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:00,124 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:00,125 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:00,127 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:00,128 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:00,129 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:00,131 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:00,132 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:00,133 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:00,134 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-23 14:17:00,139 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:17:00,186 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-23 14:17:00,187 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-23 14:17:00,207 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:17:00,207 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_324|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_324| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_324| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_324| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_324| ULTIMATE.start_main_p4)) (= 0 .cse0) (= 0 (select |v_#memory_int_324| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_324| ULTIMATE.start_main_p5 (+ .cse0 1))))) [2018-12-23 14:17:00,207 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:17:00,278 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:00,280 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:00,281 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:00,282 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:00,284 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:00,285 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:00,287 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:00,288 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:00,289 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:00,291 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:00,292 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:00,293 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:00,294 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:17:00,295 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-23 14:17:00,300 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:17:00,351 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-23 14:17:00,351 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-23 14:17:02,362 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:17:02,362 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_325|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_325| ULTIMATE.start_main_p3))) (and (= .cse0 0) (= |#memory_int| (store |v_#memory_int_325| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (select |v_#memory_int_325| ULTIMATE.start_main_p5) 1) (= (select |v_#memory_int_325| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_325| ULTIMATE.start_main_p4)) (= (select |v_#memory_int_325| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:17:02,362 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:17:02,499 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:02,502 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:02,505 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:02,507 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:02,509 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:02,511 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:02,514 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:02,516 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:02,518 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:02,520 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:02,522 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:02,524 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:02,524 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:17:02,525 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-23 14:17:02,530 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:17:02,603 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-23 14:17:02,604 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-23 14:17:02,612 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:17:02,612 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_326|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_326| ULTIMATE.start_main_p1))) (and (= |#memory_int| (store |v_#memory_int_326| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 0 (select |v_#memory_int_326| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_326| ULTIMATE.start_main_p3) 1) (= (select |v_#memory_int_326| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_326| ULTIMATE.start_main_p5) 1))) [2018-12-23 14:17:02,612 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:17:02,737 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:02,739 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:02,741 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:02,743 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:02,745 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:02,747 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:02,749 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:02,751 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:02,753 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:02,755 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:02,756 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:02,757 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:02,758 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:02,759 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-23 14:17:02,764 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:17:02,817 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-23 14:17:02,818 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-23 14:17:02,832 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:17:02,832 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_327|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_327| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_327| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_327| ULTIMATE.start_main_p3)) (= 0 .cse0) (= (select |v_#memory_int_327| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_327| ULTIMATE.start_main_p5) 1) (= |#memory_int| (store |v_#memory_int_327| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:17:02,832 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:17:02,893 INFO L273 TraceCheckUtils]: 0: Hoare triple {22629#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {22639#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:17:02,895 INFO L273 TraceCheckUtils]: 1: Hoare triple {22639#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {22643#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:17:02,898 INFO L273 TraceCheckUtils]: 2: Hoare triple {22643#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {22647#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:17:02,900 INFO L273 TraceCheckUtils]: 3: Hoare triple {22647#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {22651#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:17:02,910 INFO L273 TraceCheckUtils]: 4: Hoare triple {22651#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {22655#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:17:02,911 INFO L273 TraceCheckUtils]: 5: Hoare triple {22655#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} assume !(#memory_int[main_p1] >= 0); {22630#false} is VALID [2018-12-23 14:17:02,912 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:17:02,912 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:17:03,012 INFO L273 TraceCheckUtils]: 5: Hoare triple {22659#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {22630#false} is VALID [2018-12-23 14:17:03,014 INFO L273 TraceCheckUtils]: 4: Hoare triple {22663#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {22659#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:17:03,015 INFO L273 TraceCheckUtils]: 3: Hoare triple {22667#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {22663#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:17:03,017 INFO L273 TraceCheckUtils]: 2: Hoare triple {22671#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {22667#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:17:03,019 INFO L273 TraceCheckUtils]: 1: Hoare triple {22675#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {22671#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:17:03,021 INFO L273 TraceCheckUtils]: 0: Hoare triple {22629#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {22675#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:17:03,021 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 9 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:17:03,042 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:17:03,042 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2018-12-23 14:17:03,042 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:17:03,042 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2018-12-23 14:17:03,042 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:17:03,042 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-12-23 14:17:03,067 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:17:03,067 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-12-23 14:17:03,068 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-12-23 14:17:03,068 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=104, Invalid=168, Unknown=0, NotChecked=0, Total=272 [2018-12-23 14:17:03,068 INFO L87 Difference]: Start difference. First operand 101 states and 505 transitions. Second operand 12 states. [2018-12-23 14:17:09,064 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:17:09,065 INFO L93 Difference]: Finished difference Result 164 states and 623 transitions. [2018-12-23 14:17:09,065 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-23 14:17:09,065 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2018-12-23 14:17:09,065 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:17:09,065 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-23 14:17:09,065 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 93 transitions. [2018-12-23 14:17:09,065 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-23 14:17:09,066 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 93 transitions. [2018-12-23 14:17:09,066 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 93 transitions. [2018-12-23 14:17:09,297 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:17:09,301 INFO L225 Difference]: With dead ends: 164 [2018-12-23 14:17:09,301 INFO L226 Difference]: Without dead ends: 163 [2018-12-23 14:17:09,301 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 99 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=136, Invalid=244, Unknown=0, NotChecked=0, Total=380 [2018-12-23 14:17:09,302 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 163 states. [2018-12-23 14:17:12,255 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 163 to 100. [2018-12-23 14:17:12,255 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:17:12,255 INFO L82 GeneralOperation]: Start isEquivalent. First operand 163 states. Second operand 100 states. [2018-12-23 14:17:12,255 INFO L74 IsIncluded]: Start isIncluded. First operand 163 states. Second operand 100 states. [2018-12-23 14:17:12,256 INFO L87 Difference]: Start difference. First operand 163 states. Second operand 100 states. [2018-12-23 14:17:12,260 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:17:12,260 INFO L93 Difference]: Finished difference Result 163 states and 621 transitions. [2018-12-23 14:17:12,260 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 621 transitions. [2018-12-23 14:17:12,260 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:17:12,260 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:17:12,260 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand 163 states. [2018-12-23 14:17:12,260 INFO L87 Difference]: Start difference. First operand 100 states. Second operand 163 states. [2018-12-23 14:17:12,264 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:17:12,264 INFO L93 Difference]: Finished difference Result 163 states and 621 transitions. [2018-12-23 14:17:12,264 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 621 transitions. [2018-12-23 14:17:12,264 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:17:12,264 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:17:12,264 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:17:12,265 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:17:12,265 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 100 states. [2018-12-23 14:17:12,267 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 499 transitions. [2018-12-23 14:17:12,267 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 499 transitions. Word has length 6 [2018-12-23 14:17:12,267 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:17:12,267 INFO L480 AbstractCegarLoop]: Abstraction has 100 states and 499 transitions. [2018-12-23 14:17:12,267 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-12-23 14:17:12,267 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 499 transitions. [2018-12-23 14:17:12,268 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:17:12,268 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:17:12,268 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:17:12,268 INFO L423 AbstractCegarLoop]: === Iteration 57 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:17:12,268 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:17:12,268 INFO L82 PathProgramCache]: Analyzing trace with hash 893366614, now seen corresponding path program 1 times [2018-12-23 14:17:12,268 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:17:12,269 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:17:12,269 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-23 14:17:12,269 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:17:12,269 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:17:12,271 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:17:12,430 INFO L273 TraceCheckUtils]: 0: Hoare triple {23447#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {23449#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:17:12,431 INFO L273 TraceCheckUtils]: 1: Hoare triple {23449#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {23449#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:17:12,433 INFO L273 TraceCheckUtils]: 2: Hoare triple {23449#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {23450#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:17:12,433 INFO L273 TraceCheckUtils]: 3: Hoare triple {23450#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p1] >= 0; {23450#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:17:12,434 INFO L273 TraceCheckUtils]: 4: Hoare triple {23450#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p2] <= 0; {23451#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-23 14:17:12,434 INFO L273 TraceCheckUtils]: 5: Hoare triple {23451#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {23448#false} is VALID [2018-12-23 14:17:12,435 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-23 14:17:12,435 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:17:12,435 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:17:12,435 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-23 14:17:12,436 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [24], [26], [27] [2018-12-23 14:17:12,438 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:17:12,438 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:17:12,446 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:17:12,446 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:17:12,447 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:17:12,447 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:17:12,447 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:17:12,447 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 55 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 55 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:17:12,458 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:17:12,459 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:17:12,463 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:17:12,466 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:17:12,466 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:17:12,497 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:17:12,504 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:12,505 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:17:12,515 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:12,516 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:12,517 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:17:12,531 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:12,533 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:12,535 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:12,536 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:17:12,564 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:12,566 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:12,568 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:12,570 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:12,571 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:17:12,578 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:17:12,621 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:17:12,643 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:17:12,659 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:17:12,673 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:17:12,699 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:17:12,699 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2018-12-23 14:17:12,705 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:17:12,706 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_332|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_332| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:17:12,706 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:17:12,812 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:12,815 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:12,818 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:12,821 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:12,824 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:12,827 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:12,829 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:12,832 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:12,834 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:12,837 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:12,839 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:12,839 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-23 14:17:12,846 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:17:12,903 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-23 14:17:12,903 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-23 14:17:12,939 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:17:12,940 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_333|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_333| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_333| ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_333| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_333| ULTIMATE.start_main_p5)) (= |#memory_int| (store |v_#memory_int_333| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 .cse0) (= (select |v_#memory_int_333| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:17:12,940 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:17:13,012 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:13,013 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:13,014 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:13,016 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:13,017 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:13,018 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:13,019 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:13,021 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:13,022 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:13,023 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:13,024 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:13,025 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:13,026 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:13,027 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-23 14:17:13,030 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:17:13,083 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-23 14:17:13,084 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-23 14:17:13,126 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:17:13,127 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_334|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_334| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_334| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_334| ULTIMATE.start_main_p4)) (= (select |v_#memory_int_334| ULTIMATE.start_main_p1) 1) (= (select |v_#memory_int_334| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= .cse0 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store |v_#memory_int_334| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:17:13,127 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:17:13,211 INFO L273 TraceCheckUtils]: 0: Hoare triple {23447#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {23455#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:17:13,213 INFO L273 TraceCheckUtils]: 1: Hoare triple {23455#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {23459#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:17:13,215 INFO L273 TraceCheckUtils]: 2: Hoare triple {23459#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {23463#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:17:13,216 INFO L273 TraceCheckUtils]: 3: Hoare triple {23463#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p1] >= 0; {23463#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:17:13,217 INFO L273 TraceCheckUtils]: 4: Hoare triple {23463#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p2] <= 0; {23463#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:17:13,217 INFO L273 TraceCheckUtils]: 5: Hoare triple {23463#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume !(#memory_int[main_p3] >= 0); {23448#false} is VALID [2018-12-23 14:17:13,218 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-23 14:17:13,218 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:17:13,264 INFO L273 TraceCheckUtils]: 5: Hoare triple {23473#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {23448#false} is VALID [2018-12-23 14:17:13,265 INFO L273 TraceCheckUtils]: 4: Hoare triple {23473#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {23473#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:17:13,265 INFO L273 TraceCheckUtils]: 3: Hoare triple {23473#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {23473#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:17:13,266 INFO L273 TraceCheckUtils]: 2: Hoare triple {23483#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {23473#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:17:13,268 INFO L273 TraceCheckUtils]: 1: Hoare triple {23487#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {23483#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:17:13,270 INFO L273 TraceCheckUtils]: 0: Hoare triple {23447#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {23487#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:17:13,270 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-23 14:17:13,290 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:17:13,290 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:17:13,290 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:17:13,291 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-23 14:17:13,291 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:17:13,291 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:17:13,310 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:17:13,311 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:17:13,311 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:17:13,311 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:17:13,311 INFO L87 Difference]: Start difference. First operand 100 states and 499 transitions. Second operand 8 states. [2018-12-23 14:17:17,140 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:17:17,140 INFO L93 Difference]: Finished difference Result 122 states and 529 transitions. [2018-12-23 14:17:17,140 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-23 14:17:17,140 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-23 14:17:17,140 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:17:17,140 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:17:17,140 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2018-12-23 14:17:17,140 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:17:17,141 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2018-12-23 14:17:17,141 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 54 transitions. [2018-12-23 14:17:17,222 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:17:17,224 INFO L225 Difference]: With dead ends: 122 [2018-12-23 14:17:17,225 INFO L226 Difference]: Without dead ends: 121 [2018-12-23 14:17:17,225 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 4 SyntacticMatches, 2 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:17:17,225 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2018-12-23 14:17:20,489 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 102. [2018-12-23 14:17:20,489 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:17:20,489 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand 102 states. [2018-12-23 14:17:20,489 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand 102 states. [2018-12-23 14:17:20,489 INFO L87 Difference]: Start difference. First operand 121 states. Second operand 102 states. [2018-12-23 14:17:20,493 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:17:20,493 INFO L93 Difference]: Finished difference Result 121 states and 527 transitions. [2018-12-23 14:17:20,493 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 527 transitions. [2018-12-23 14:17:20,493 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:17:20,494 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:17:20,494 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand 121 states. [2018-12-23 14:17:20,494 INFO L87 Difference]: Start difference. First operand 102 states. Second operand 121 states. [2018-12-23 14:17:20,496 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:17:20,496 INFO L93 Difference]: Finished difference Result 121 states and 527 transitions. [2018-12-23 14:17:20,497 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 527 transitions. [2018-12-23 14:17:20,497 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:17:20,497 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:17:20,497 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:17:20,497 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:17:20,497 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 102 states. [2018-12-23 14:17:20,499 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 511 transitions. [2018-12-23 14:17:20,499 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 511 transitions. Word has length 6 [2018-12-23 14:17:20,500 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:17:20,500 INFO L480 AbstractCegarLoop]: Abstraction has 102 states and 511 transitions. [2018-12-23 14:17:20,500 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:17:20,500 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 511 transitions. [2018-12-23 14:17:20,500 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:17:20,500 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:17:20,500 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:17:20,500 INFO L423 AbstractCegarLoop]: === Iteration 58 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:17:20,501 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:17:20,501 INFO L82 PathProgramCache]: Analyzing trace with hash 893472260, now seen corresponding path program 1 times [2018-12-23 14:17:20,501 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:17:20,501 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:17:20,501 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:17:20,502 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:17:20,502 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:17:20,504 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:17:20,677 INFO L273 TraceCheckUtils]: 0: Hoare triple {24124#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {24126#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:17:20,679 INFO L273 TraceCheckUtils]: 1: Hoare triple {24126#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {24126#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:17:20,680 INFO L273 TraceCheckUtils]: 2: Hoare triple {24126#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {24127#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-23 14:17:20,681 INFO L273 TraceCheckUtils]: 3: Hoare triple {24127#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {24128#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-23 14:17:20,681 INFO L273 TraceCheckUtils]: 4: Hoare triple {24128#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {24129#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:17:20,682 INFO L273 TraceCheckUtils]: 5: Hoare triple {24129#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {24125#false} is VALID [2018-12-23 14:17:20,682 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-23 14:17:20,682 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:17:20,682 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:17:20,683 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-23 14:17:20,683 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [14], [24], [25] [2018-12-23 14:17:20,684 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:17:20,684 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:17:20,694 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:17:20,694 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-23 14:17:20,694 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:17:20,695 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:17:20,695 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:17:20,695 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 56 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 56 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:17:20,705 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:17:20,706 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:17:20,710 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:17:20,713 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:17:20,714 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:17:20,744 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:17:20,756 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:20,757 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:17:20,769 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:20,771 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:20,772 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:17:20,789 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:20,790 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:20,791 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:20,792 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:17:20,814 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:20,815 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:20,817 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:20,818 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:20,819 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:17:20,824 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:17:20,855 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:17:20,872 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:17:20,887 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:17:20,898 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:17:20,922 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-23 14:17:20,923 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2018-12-23 14:17:20,930 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:17:20,931 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_337|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= |#memory_int| (store (store (store (store (store |v_#memory_int_337| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:17:20,931 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:17:21,000 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:21,001 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:21,003 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:21,004 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:21,006 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:21,007 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:21,009 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:21,010 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:21,011 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:21,013 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:21,014 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:21,015 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-23 14:17:21,020 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:17:21,070 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-23 14:17:21,071 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-23 14:17:21,091 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:17:21,091 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_338|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_338| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_338| ULTIMATE.start_main_p5)) (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_338| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_338| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_338| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= |#memory_int| (store |v_#memory_int_338| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:17:21,091 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:17:21,164 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:21,165 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:21,167 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:21,168 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:21,169 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:21,170 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:21,171 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:21,173 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:21,174 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:21,175 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:21,176 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:21,177 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:21,178 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:17:21,179 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-23 14:17:21,184 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:17:21,238 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-23 14:17:21,238 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-23 14:17:21,341 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:17:21,341 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_339|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_339| ULTIMATE.start_main_p3))) (and (= 1 (select |v_#memory_int_339| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_339| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (= (select |v_#memory_int_339| ULTIMATE.start_main_p4) 0) (= 0 (select |v_#memory_int_339| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_339| ULTIMATE.start_main_p2) 0))) [2018-12-23 14:17:21,341 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:17:21,425 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:21,427 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:21,428 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:21,429 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:21,431 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:21,432 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:21,434 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:21,435 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:21,436 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:21,438 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:21,439 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:21,440 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:21,441 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:21,442 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-23 14:17:21,448 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:17:21,500 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-23 14:17:21,500 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2018-12-23 14:17:21,539 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:17:21,540 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_340|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_340| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_340| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= .cse0 0) (= (select |v_#memory_int_340| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_340| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_340| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_340| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:17:21,540 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:17:21,627 INFO L273 TraceCheckUtils]: 0: Hoare triple {24124#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {24133#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:17:21,629 INFO L273 TraceCheckUtils]: 1: Hoare triple {24133#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {24137#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:17:21,633 INFO L273 TraceCheckUtils]: 2: Hoare triple {24137#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {24141#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:17:21,636 INFO L273 TraceCheckUtils]: 3: Hoare triple {24141#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {24145#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2018-12-23 14:17:21,637 INFO L273 TraceCheckUtils]: 4: Hoare triple {24145#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume #memory_int[main_p1] >= 0; {24145#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2018-12-23 14:17:21,637 INFO L273 TraceCheckUtils]: 5: Hoare triple {24145#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume !(#memory_int[main_p2] <= 0); {24125#false} is VALID [2018-12-23 14:17:21,638 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-23 14:17:21,638 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:17:21,692 INFO L273 TraceCheckUtils]: 5: Hoare triple {24129#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {24125#false} is VALID [2018-12-23 14:17:21,693 INFO L273 TraceCheckUtils]: 4: Hoare triple {24129#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {24129#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:17:21,694 INFO L273 TraceCheckUtils]: 3: Hoare triple {24158#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {24129#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:17:21,695 INFO L273 TraceCheckUtils]: 2: Hoare triple {24162#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {24158#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2018-12-23 14:17:21,696 INFO L273 TraceCheckUtils]: 1: Hoare triple {24166#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {24162#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2018-12-23 14:17:21,698 INFO L273 TraceCheckUtils]: 0: Hoare triple {24124#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {24166#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2018-12-23 14:17:21,699 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-23 14:17:21,717 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:17:21,718 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2018-12-23 14:17:21,718 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:17:21,718 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-23 14:17:21,718 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:17:21,718 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-23 14:17:21,739 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:17:21,739 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-23 14:17:21,739 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-23 14:17:21,739 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=95, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:17:21,739 INFO L87 Difference]: Start difference. First operand 102 states and 511 transitions. Second operand 10 states. [2018-12-23 14:17:26,993 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:17:26,993 INFO L93 Difference]: Finished difference Result 154 states and 624 transitions. [2018-12-23 14:17:26,993 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-23 14:17:26,993 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-23 14:17:26,994 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:17:26,994 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:17:26,994 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 79 transitions. [2018-12-23 14:17:26,994 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:17:26,994 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 79 transitions. [2018-12-23 14:17:26,995 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 79 transitions. [2018-12-23 14:17:27,137 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:17:27,139 INFO L225 Difference]: With dead ends: 154 [2018-12-23 14:17:27,139 INFO L226 Difference]: Without dead ends: 153 [2018-12-23 14:17:27,139 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 45 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=89, Invalid=151, Unknown=0, NotChecked=0, Total=240 [2018-12-23 14:17:27,140 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 153 states. [2018-12-23 14:17:30,765 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 153 to 111. [2018-12-23 14:17:30,765 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:17:30,765 INFO L82 GeneralOperation]: Start isEquivalent. First operand 153 states. Second operand 111 states. [2018-12-23 14:17:30,766 INFO L74 IsIncluded]: Start isIncluded. First operand 153 states. Second operand 111 states. [2018-12-23 14:17:30,766 INFO L87 Difference]: Start difference. First operand 153 states. Second operand 111 states. [2018-12-23 14:17:30,770 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:17:30,771 INFO L93 Difference]: Finished difference Result 153 states and 622 transitions. [2018-12-23 14:17:30,771 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 622 transitions. [2018-12-23 14:17:30,771 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:17:30,771 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:17:30,771 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand 153 states. [2018-12-23 14:17:30,771 INFO L87 Difference]: Start difference. First operand 111 states. Second operand 153 states. [2018-12-23 14:17:30,775 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:17:30,775 INFO L93 Difference]: Finished difference Result 153 states and 622 transitions. [2018-12-23 14:17:30,775 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 622 transitions. [2018-12-23 14:17:30,775 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:17:30,775 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:17:30,775 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:17:30,776 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:17:30,776 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 111 states. [2018-12-23 14:17:30,778 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 566 transitions. [2018-12-23 14:17:30,778 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 566 transitions. Word has length 6 [2018-12-23 14:17:30,778 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:17:30,778 INFO L480 AbstractCegarLoop]: Abstraction has 111 states and 566 transitions. [2018-12-23 14:17:30,779 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-23 14:17:30,779 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 566 transitions. [2018-12-23 14:17:30,779 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:17:30,779 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:17:30,779 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:17:30,779 INFO L423 AbstractCegarLoop]: === Iteration 59 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:17:30,779 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:17:30,779 INFO L82 PathProgramCache]: Analyzing trace with hash 897358608, now seen corresponding path program 1 times [2018-12-23 14:17:30,779 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:17:30,780 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:17:30,780 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:17:30,780 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:17:30,780 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:17:30,782 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:17:30,924 INFO L273 TraceCheckUtils]: 0: Hoare triple {24932#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {24934#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:17:30,925 INFO L273 TraceCheckUtils]: 1: Hoare triple {24934#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {24934#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:17:30,926 INFO L273 TraceCheckUtils]: 2: Hoare triple {24934#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {24935#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:17:30,927 INFO L273 TraceCheckUtils]: 3: Hoare triple {24935#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p1] >= 0; {24935#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:17:30,927 INFO L273 TraceCheckUtils]: 4: Hoare triple {24935#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p2] <= 0; {24936#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-23 14:17:30,927 INFO L273 TraceCheckUtils]: 5: Hoare triple {24936#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {24933#false} is VALID [2018-12-23 14:17:30,927 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-23 14:17:30,928 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:17:30,928 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:17:30,928 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-23 14:17:30,928 INFO L207 CegarAbsIntRunner]: [0], [10], [20], [24], [26], [27] [2018-12-23 14:17:30,929 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:17:30,929 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:17:30,940 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:17:30,940 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:17:30,941 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:17:30,941 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:17:30,941 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:17:30,941 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 57 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 57 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:17:30,952 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:17:30,952 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:17:30,956 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:17:30,962 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:17:30,963 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:17:30,985 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:17:30,994 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:17:31,005 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:31,005 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-23 14:17:31,021 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:31,023 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:31,023 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-23 14:17:31,041 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:31,046 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:31,047 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:31,048 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:17:31,052 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:17:31,076 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:17:31,091 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:17:31,104 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:17:31,117 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:17:31,142 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-23 14:17:31,142 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:28, output treesize:35 [2018-12-23 14:17:31,151 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:17:31,151 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_344|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4]. (and (= (store (store (store (store (store |v_#memory_int_344| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:17:31,151 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:17:31,222 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:31,223 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:31,225 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:31,226 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:31,227 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:31,229 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:31,230 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:31,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 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 51 [2018-12-23 14:17:31,236 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:17:31,268 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-23 14:17:31,269 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2018-12-23 14:17:31,295 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:17:31,296 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_345|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_345| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_345| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_345| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_345| ULTIMATE.start_main_p4) 0) (= |#memory_int| (store |v_#memory_int_345| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:17:31,296 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:17:31,351 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:31,352 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:31,353 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:31,355 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:31,356 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:31,357 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:31,358 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:31,360 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:31,361 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:31,362 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 67 [2018-12-23 14:17:31,365 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:17:31,400 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-23 14:17:31,401 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2018-12-23 14:17:31,548 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:17:31,548 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_346|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_346| ULTIMATE.start_main_p5))) (and (= |#memory_int| (store |v_#memory_int_346| ULTIMATE.start_main_p5 (+ .cse0 1))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_346| ULTIMATE.start_main_p4) 0) (= 0 (+ (select |v_#memory_int_346| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_346| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= .cse0 0))) [2018-12-23 14:17:31,548 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:17:31,639 INFO L273 TraceCheckUtils]: 0: Hoare triple {24932#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {24940#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:17:31,641 INFO L273 TraceCheckUtils]: 1: Hoare triple {24940#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {24944#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:17:31,644 INFO L273 TraceCheckUtils]: 2: Hoare triple {24944#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {24948#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-23 14:17:31,645 INFO L273 TraceCheckUtils]: 3: Hoare triple {24948#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {24948#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-23 14:17:31,646 INFO L273 TraceCheckUtils]: 4: Hoare triple {24948#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p2] <= 0; {24948#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-23 14:17:31,646 INFO L273 TraceCheckUtils]: 5: Hoare triple {24948#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p3] >= 0); {24933#false} is VALID [2018-12-23 14:17:31,647 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-23 14:17:31,647 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:17:31,695 INFO L273 TraceCheckUtils]: 5: Hoare triple {24958#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {24933#false} is VALID [2018-12-23 14:17:31,695 INFO L273 TraceCheckUtils]: 4: Hoare triple {24958#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {24958#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:17:31,696 INFO L273 TraceCheckUtils]: 3: Hoare triple {24958#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {24958#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:17:31,697 INFO L273 TraceCheckUtils]: 2: Hoare triple {24968#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {24958#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:17:31,698 INFO L273 TraceCheckUtils]: 1: Hoare triple {24972#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {24968#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:17:31,700 INFO L273 TraceCheckUtils]: 0: Hoare triple {24932#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {24972#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:17:31,701 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-23 14:17:31,721 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:17:31,721 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:17:31,721 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:17:31,722 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-23 14:17:31,722 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:17:31,722 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:17:31,744 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:17:31,745 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:17:31,745 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:17:31,745 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:17:31,745 INFO L87 Difference]: Start difference. First operand 111 states and 566 transitions. Second operand 8 states. [2018-12-23 14:17:36,098 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:17:36,099 INFO L93 Difference]: Finished difference Result 130 states and 583 transitions. [2018-12-23 14:17:36,099 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-23 14:17:36,099 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-23 14:17:36,099 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:17:36,099 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:17:36,099 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 53 transitions. [2018-12-23 14:17:36,099 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:17:36,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 53 transitions. [2018-12-23 14:17:36,100 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 53 transitions. [2018-12-23 14:17:36,177 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:17:36,180 INFO L225 Difference]: With dead ends: 130 [2018-12-23 14:17:36,180 INFO L226 Difference]: Without dead ends: 129 [2018-12-23 14:17:36,180 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 4 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:17:36,180 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2018-12-23 14:17:39,760 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 111. [2018-12-23 14:17:39,761 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:17:39,761 INFO L82 GeneralOperation]: Start isEquivalent. First operand 129 states. Second operand 111 states. [2018-12-23 14:17:39,761 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand 111 states. [2018-12-23 14:17:39,761 INFO L87 Difference]: Start difference. First operand 129 states. Second operand 111 states. [2018-12-23 14:17:39,764 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:17:39,764 INFO L93 Difference]: Finished difference Result 129 states and 581 transitions. [2018-12-23 14:17:39,764 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 581 transitions. [2018-12-23 14:17:39,765 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:17:39,765 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:17:39,765 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand 129 states. [2018-12-23 14:17:39,765 INFO L87 Difference]: Start difference. First operand 111 states. Second operand 129 states. [2018-12-23 14:17:39,768 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:17:39,768 INFO L93 Difference]: Finished difference Result 129 states and 581 transitions. [2018-12-23 14:17:39,768 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 581 transitions. [2018-12-23 14:17:39,768 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:17:39,769 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:17:39,769 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:17:39,769 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:17:39,769 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 111 states. [2018-12-23 14:17:39,771 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 566 transitions. [2018-12-23 14:17:39,771 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 566 transitions. Word has length 6 [2018-12-23 14:17:39,772 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:17:39,772 INFO L480 AbstractCegarLoop]: Abstraction has 111 states and 566 transitions. [2018-12-23 14:17:39,772 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:17:39,772 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 566 transitions. [2018-12-23 14:17:39,772 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:17:39,772 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:17:39,772 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:17:39,772 INFO L423 AbstractCegarLoop]: === Iteration 60 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:17:39,772 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:17:39,773 INFO L82 PathProgramCache]: Analyzing trace with hash 896931860, now seen corresponding path program 2 times [2018-12-23 14:17:39,773 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:17:39,773 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:17:39,773 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:17:39,773 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:17:39,773 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:17:39,775 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:17:39,937 INFO L273 TraceCheckUtils]: 0: Hoare triple {25660#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {25662#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-23 14:17:39,938 INFO L273 TraceCheckUtils]: 1: Hoare triple {25662#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {25663#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:17:39,939 INFO L273 TraceCheckUtils]: 2: Hoare triple {25663#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {25663#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:17:39,941 INFO L273 TraceCheckUtils]: 3: Hoare triple {25663#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {25664#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-23 14:17:39,941 INFO L273 TraceCheckUtils]: 4: Hoare triple {25664#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume #memory_int[main_p1] >= 0; {25664#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-23 14:17:39,942 INFO L273 TraceCheckUtils]: 5: Hoare triple {25664#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {25661#false} is VALID [2018-12-23 14:17:39,942 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-23 14:17:39,942 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:17:39,943 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:17:39,943 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-23 14:17:39,943 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2018-12-23 14:17:39,943 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:17:39,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 58 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 58 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:17:39,954 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-23 14:17:39,954 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-23 14:17:39,960 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-12-23 14:17:39,960 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-23 14:17:39,964 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:17:39,965 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:17:39,998 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:17:40,005 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,006 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:17:40,015 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,017 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,018 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:17:40,032 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,033 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,034 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,035 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:17:40,053 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,055 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,056 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,057 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,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 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:17:40,062 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:17:40,092 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:17:40,109 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:17:40,121 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:17:40,133 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:17:40,155 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-23 14:17:40,155 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2018-12-23 14:17:40,162 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:17:40,163 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_349|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store (store (store (store (store |v_#memory_int_349| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0))) [2018-12-23 14:17:40,163 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:17:40,224 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,226 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,227 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,228 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,230 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,231 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,232 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,233 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,234 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,236 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,237 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,238 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-23 14:17:40,242 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:17:40,288 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-23 14:17:40,288 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-23 14:17:40,298 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:17:40,298 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_350|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_350| ULTIMATE.start_main_p2))) (and (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_350| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_350| ULTIMATE.start_main_p4) 0) (= (store |v_#memory_int_350| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_350| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_350| ULTIMATE.start_main_p5) 0))) [2018-12-23 14:17:40,298 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:17:40,357 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,358 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,360 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,361 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,362 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,363 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,365 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,366 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,367 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,368 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,369 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,370 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,371 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,372 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-23 14:17:40,377 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:17:40,427 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-23 14:17:40,427 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2018-12-23 14:17:40,635 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:17:40,635 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_351|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_351| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_351| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_351| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_351| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (+ (select |v_#memory_int_351| ULTIMATE.start_main_p2) 1) 0) (= 0 .cse0) (= 0 (select |v_#memory_int_351| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:17:40,636 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-23 14:17:40,697 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,699 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,700 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,701 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,703 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,704 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,705 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,707 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,708 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,709 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,711 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,712 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,713 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,714 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:40,715 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:17:40,716 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 98 [2018-12-23 14:17:40,733 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:17:40,783 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-23 14:17:40,783 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2018-12-23 14:17:40,817 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:17:40,817 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_352|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_352| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_352| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |v_#memory_int_352| ULTIMATE.start_main_p2) 1)) (= 0 .cse0) (= 1 (select |v_#memory_int_352| ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_352| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (select |v_#memory_int_352| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:17:40,817 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-23 14:17:40,882 INFO L273 TraceCheckUtils]: 0: Hoare triple {25660#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {25668#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:17:40,884 INFO L273 TraceCheckUtils]: 1: Hoare triple {25668#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {25672#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:17:40,886 INFO L273 TraceCheckUtils]: 2: Hoare triple {25672#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {25676#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:17:40,890 INFO L273 TraceCheckUtils]: 3: Hoare triple {25676#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {25680#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:17:40,891 INFO L273 TraceCheckUtils]: 4: Hoare triple {25680#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {25680#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:17:40,892 INFO L273 TraceCheckUtils]: 5: Hoare triple {25680#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {25661#false} is VALID [2018-12-23 14:17:40,892 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-23 14:17:40,892 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:17:40,956 INFO L273 TraceCheckUtils]: 5: Hoare triple {25687#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {25661#false} is VALID [2018-12-23 14:17:40,957 INFO L273 TraceCheckUtils]: 4: Hoare triple {25687#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {25687#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:17:40,958 INFO L273 TraceCheckUtils]: 3: Hoare triple {25694#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {25687#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:17:40,959 INFO L273 TraceCheckUtils]: 2: Hoare triple {25698#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {25694#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:17:40,961 INFO L273 TraceCheckUtils]: 1: Hoare triple {25702#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {25698#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:17:40,963 INFO L273 TraceCheckUtils]: 0: Hoare triple {25660#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {25702#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:17:40,964 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-23 14:17:40,983 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:17:40,983 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 4, 4] total 11 [2018-12-23 14:17:40,983 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:17:40,983 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 6 [2018-12-23 14:17:40,983 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:17:40,984 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-12-23 14:17:41,007 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:17:41,007 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-12-23 14:17:41,007 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-12-23 14:17:41,008 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=96, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:17:41,008 INFO L87 Difference]: Start difference. First operand 111 states and 566 transitions. Second operand 9 states. [2018-12-23 14:17:46,338 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:17:46,338 INFO L93 Difference]: Finished difference Result 160 states and 682 transitions. [2018-12-23 14:17:46,339 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-23 14:17:46,339 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 6 [2018-12-23 14:17:46,339 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:17:46,339 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-12-23 14:17:46,339 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 78 transitions. [2018-12-23 14:17:46,339 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-12-23 14:17:46,340 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 78 transitions. [2018-12-23 14:17:46,340 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 78 transitions. [2018-12-23 14:17:46,474 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:17:46,478 INFO L225 Difference]: With dead ends: 160 [2018-12-23 14:17:46,478 INFO L226 Difference]: Without dead ends: 159 [2018-12-23 14:17:46,478 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 48 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=78, Invalid=132, Unknown=0, NotChecked=0, Total=210 [2018-12-23 14:17:46,479 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 159 states. [2018-12-23 14:17:49,922 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 159 to 117. [2018-12-23 14:17:49,922 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:17:49,922 INFO L82 GeneralOperation]: Start isEquivalent. First operand 159 states. Second operand 117 states. [2018-12-23 14:17:49,922 INFO L74 IsIncluded]: Start isIncluded. First operand 159 states. Second operand 117 states. [2018-12-23 14:17:49,922 INFO L87 Difference]: Start difference. First operand 159 states. Second operand 117 states. [2018-12-23 14:17:49,927 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:17:49,927 INFO L93 Difference]: Finished difference Result 159 states and 680 transitions. [2018-12-23 14:17:49,927 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 680 transitions. [2018-12-23 14:17:49,928 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:17:49,928 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:17:49,928 INFO L74 IsIncluded]: Start isIncluded. First operand 117 states. Second operand 159 states. [2018-12-23 14:17:49,928 INFO L87 Difference]: Start difference. First operand 117 states. Second operand 159 states. [2018-12-23 14:17:49,931 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:17:49,932 INFO L93 Difference]: Finished difference Result 159 states and 680 transitions. [2018-12-23 14:17:49,932 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 680 transitions. [2018-12-23 14:17:49,932 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:17:49,932 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:17:49,932 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:17:49,932 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:17:49,932 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 117 states. [2018-12-23 14:17:49,935 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 117 states to 117 states and 603 transitions. [2018-12-23 14:17:49,935 INFO L78 Accepts]: Start accepts. Automaton has 117 states and 603 transitions. Word has length 6 [2018-12-23 14:17:49,935 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:17:49,935 INFO L480 AbstractCegarLoop]: Abstraction has 117 states and 603 transitions. [2018-12-23 14:17:49,935 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-12-23 14:17:49,935 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 603 transitions. [2018-12-23 14:17:49,936 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:17:49,936 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:17:49,936 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:17:49,936 INFO L423 AbstractCegarLoop]: === Iteration 61 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:17:49,936 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:17:49,936 INFO L82 PathProgramCache]: Analyzing trace with hash 897479758, now seen corresponding path program 1 times [2018-12-23 14:17:49,936 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:17:49,937 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:17:49,937 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-23 14:17:49,937 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:17:49,937 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:17:49,940 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:17:50,035 INFO L273 TraceCheckUtils]: 0: Hoare triple {26506#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {26508#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:17:50,036 INFO L273 TraceCheckUtils]: 1: Hoare triple {26508#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {26509#(= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2018-12-23 14:17:50,037 INFO L273 TraceCheckUtils]: 2: Hoare triple {26509#(= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p1] >= 0; {26509#(= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2018-12-23 14:17:50,037 INFO L273 TraceCheckUtils]: 3: Hoare triple {26509#(= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p2] <= 0; {26509#(= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2018-12-23 14:17:50,038 INFO L273 TraceCheckUtils]: 4: Hoare triple {26509#(= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p3] >= 0; {26509#(= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2018-12-23 14:17:50,039 INFO L273 TraceCheckUtils]: 5: Hoare triple {26509#(= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume !(#memory_int[main_p4] <= 0); {26507#false} is VALID [2018-12-23 14:17:50,039 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-23 14:17:50,039 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:17:50,039 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:17:50,039 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-23 14:17:50,040 INFO L207 CegarAbsIntRunner]: [0], [10], [24], [26], [28], [29] [2018-12-23 14:17:50,043 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:17:50,043 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:17:50,061 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:17:50,061 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-23 14:17:50,061 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:17:50,062 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:17:50,062 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:17:50,062 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 59 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 59 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:17:50,072 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:17:50,072 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:17:50,077 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:17:50,079 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:17:50,080 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:17:50,104 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:17:50,111 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:17:50,123 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:50,124 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-23 14:17:50,145 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:50,146 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:50,147 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-23 14:17:50,167 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:50,171 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:50,173 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:50,174 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:17:50,178 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:17:50,199 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:17:50,213 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:17:50,226 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:17:50,239 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:17:50,260 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-23 14:17:50,260 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:28, output treesize:35 [2018-12-23 14:17:50,270 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:17:50,270 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_356|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store (store (store (store (store |v_#memory_int_356| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:17:50,270 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:17:50,338 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:50,339 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:50,340 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:50,342 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:50,343 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:50,344 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:50,346 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:17:50,347 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 51 [2018-12-23 14:17:50,351 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:17:50,381 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-23 14:17:50,381 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2018-12-23 14:17:50,767 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:17:50,767 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_357|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_357| ULTIMATE.start_main_p2))) (and (= |#memory_int| (store |v_#memory_int_357| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_357| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_357| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_357| ULTIMATE.start_main_p5) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:17:50,767 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:17:50,894 INFO L273 TraceCheckUtils]: 0: Hoare triple {26506#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {26513#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:17:50,897 INFO L273 TraceCheckUtils]: 1: Hoare triple {26513#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {26517#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:17:50,897 INFO L273 TraceCheckUtils]: 2: Hoare triple {26517#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} assume #memory_int[main_p1] >= 0; {26517#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:17:50,898 INFO L273 TraceCheckUtils]: 3: Hoare triple {26517#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} assume #memory_int[main_p2] <= 0; {26517#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:17:50,899 INFO L273 TraceCheckUtils]: 4: Hoare triple {26517#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} assume #memory_int[main_p3] >= 0; {26517#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:17:50,899 INFO L273 TraceCheckUtils]: 5: Hoare triple {26517#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} assume !(#memory_int[main_p4] <= 0); {26507#false} is VALID [2018-12-23 14:17:50,900 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-23 14:17:50,900 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:17:50,925 INFO L273 TraceCheckUtils]: 5: Hoare triple {26530#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume !(#memory_int[main_p4] <= 0); {26507#false} is VALID [2018-12-23 14:17:50,926 INFO L273 TraceCheckUtils]: 4: Hoare triple {26530#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p3] >= 0; {26530#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2018-12-23 14:17:50,926 INFO L273 TraceCheckUtils]: 3: Hoare triple {26530#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p2] <= 0; {26530#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2018-12-23 14:17:50,927 INFO L273 TraceCheckUtils]: 2: Hoare triple {26530#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p1] >= 0; {26530#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2018-12-23 14:17:50,928 INFO L273 TraceCheckUtils]: 1: Hoare triple {26543#(<= (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p4) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {26530#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2018-12-23 14:17:50,930 INFO L273 TraceCheckUtils]: 0: Hoare triple {26506#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {26543#(<= (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p4) 0)} is VALID [2018-12-23 14:17:50,930 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-23 14:17:50,950 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 2 imperfect interpolant sequences. [2018-12-23 14:17:50,951 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2, 2] total 6 [2018-12-23 14:17:50,951 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-23 14:17:50,951 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 6 [2018-12-23 14:17:50,951 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:17:50,951 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-12-23 14:17:50,957 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-23 14:17:50,957 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-12-23 14:17:50,957 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-12-23 14:17:50,957 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=30, Unknown=0, NotChecked=0, Total=56 [2018-12-23 14:17:50,957 INFO L87 Difference]: Start difference. First operand 117 states and 603 transitions. Second operand 4 states. [2018-12-23 14:17:57,428 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:17:57,428 INFO L93 Difference]: Finished difference Result 121 states and 607 transitions. [2018-12-23 14:17:57,428 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-12-23 14:17:57,429 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 6 [2018-12-23 14:17:57,429 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:17:57,429 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-23 14:17:57,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 25 transitions. [2018-12-23 14:17:57,429 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-23 14:17:57,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 25 transitions. [2018-12-23 14:17:57,429 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 25 transitions. [2018-12-23 14:17:57,450 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:17:57,453 INFO L225 Difference]: With dead ends: 121 [2018-12-23 14:17:57,453 INFO L226 Difference]: Without dead ends: 117 [2018-12-23 14:17:57,453 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=26, Invalid=30, Unknown=0, NotChecked=0, Total=56 [2018-12-23 14:17:57,453 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 117 states. [2018-12-23 14:18:01,965 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 117 to 114. [2018-12-23 14:18:01,965 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:18:01,965 INFO L82 GeneralOperation]: Start isEquivalent. First operand 117 states. Second operand 114 states. [2018-12-23 14:18:01,966 INFO L74 IsIncluded]: Start isIncluded. First operand 117 states. Second operand 114 states. [2018-12-23 14:18:01,966 INFO L87 Difference]: Start difference. First operand 117 states. Second operand 114 states. [2018-12-23 14:18:01,970 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:18:01,970 INFO L93 Difference]: Finished difference Result 117 states and 602 transitions. [2018-12-23 14:18:01,970 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 602 transitions. [2018-12-23 14:18:01,970 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:18:01,970 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:18:01,971 INFO L74 IsIncluded]: Start isIncluded. First operand 114 states. Second operand 117 states. [2018-12-23 14:18:01,971 INFO L87 Difference]: Start difference. First operand 114 states. Second operand 117 states. [2018-12-23 14:18:01,974 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:18:01,974 INFO L93 Difference]: Finished difference Result 117 states and 602 transitions. [2018-12-23 14:18:01,974 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 602 transitions. [2018-12-23 14:18:01,974 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:18:01,974 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:18:01,975 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:18:01,975 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:18:01,975 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 114 states. [2018-12-23 14:18:01,978 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 114 states to 114 states and 599 transitions. [2018-12-23 14:18:01,978 INFO L78 Accepts]: Start accepts. Automaton has 114 states and 599 transitions. Word has length 6 [2018-12-23 14:18:01,978 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:18:01,978 INFO L480 AbstractCegarLoop]: Abstraction has 114 states and 599 transitions. [2018-12-23 14:18:01,978 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-12-23 14:18:01,978 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 599 transitions. [2018-12-23 14:18:01,978 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:18:01,979 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:18:01,979 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:18:01,979 INFO L423 AbstractCegarLoop]: === Iteration 62 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:18:01,979 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:18:01,979 INFO L82 PathProgramCache]: Analyzing trace with hash 897162312, now seen corresponding path program 2 times [2018-12-23 14:18:01,979 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:18:01,980 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:18:01,980 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:18:01,980 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:18:01,980 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:18:01,982 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:18:02,395 INFO L273 TraceCheckUtils]: 0: Hoare triple {27209#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {27211#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:18:02,396 INFO L273 TraceCheckUtils]: 1: Hoare triple {27211#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {27212#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:18:02,397 INFO L273 TraceCheckUtils]: 2: Hoare triple {27212#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {27213#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:18:02,398 INFO L273 TraceCheckUtils]: 3: Hoare triple {27213#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {27214#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:18:02,399 INFO L273 TraceCheckUtils]: 4: Hoare triple {27214#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {27215#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:18:02,400 INFO L273 TraceCheckUtils]: 5: Hoare triple {27215#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {27210#false} is VALID [2018-12-23 14:18:02,400 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:18:02,400 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:18:02,400 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:18:02,401 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-23 14:18:02,401 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2018-12-23 14:18:02,401 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:18:02,401 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 60 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 60 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:18:02,411 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-23 14:18:02,411 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-23 14:18:02,418 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-12-23 14:18:02,418 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-23 14:18:02,430 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:18:02,430 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:18:02,450 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:18:02,459 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:02,460 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:18:02,475 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:02,476 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:02,477 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:18:02,494 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:02,496 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:02,497 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:02,498 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:18:02,534 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:02,536 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:02,537 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:02,539 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:02,540 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:18:02,546 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:18:02,577 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:18:02,595 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:18:02,609 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:18:02,622 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:18:02,643 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:18:02,644 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2018-12-23 14:18:02,651 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:18:02,651 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_359|, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_359| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:18:02,651 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:18:02,728 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:02,729 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:02,730 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:02,731 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:02,733 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:02,734 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:02,735 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:02,736 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:02,737 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:02,739 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:02,741 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:02,742 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 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-23 14:18:02,747 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:18:02,793 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-23 14:18:02,793 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-23 14:18:02,984 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:18:02,984 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_360|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_360| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_360| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_360| ULTIMATE.start_main_p3) 0) (= .cse0 0) (= (select |v_#memory_int_360| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_360| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store |v_#memory_int_360| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:18:02,984 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:18:03,063 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,065 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,066 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,067 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,068 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,069 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,071 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,072 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,073 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,074 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,075 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,076 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,078 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,078 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-23 14:18:03,085 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:18:03,137 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-23 14:18:03,137 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2018-12-23 14:18:03,221 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:18:03,222 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_361|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_361| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |v_#memory_int_361| ULTIMATE.start_main_p2) 1)) (= 0 (select |v_#memory_int_361| ULTIMATE.start_main_p4)) (= (select |v_#memory_int_361| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_361| ULTIMATE.start_main_p5)) (= .cse0 0) (= (store |v_#memory_int_361| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:18:03,222 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:18:03,301 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,302 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,303 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,305 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,306 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,307 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,308 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,310 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,311 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,312 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,313 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,314 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,315 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,316 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,317 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,318 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:18:03,319 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 104 [2018-12-23 14:18:03,325 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:18:03,385 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-23 14:18:03,385 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2018-12-23 14:18:03,393 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:18:03,394 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_362|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_362| ULTIMATE.start_main_p1))) (and (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_362| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_362| ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_362| ULTIMATE.start_main_p5)) (= (+ (select |v_#memory_int_362| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 1 (select |v_#memory_int_362| ULTIMATE.start_main_p3)))) [2018-12-23 14:18:03,394 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:18:03,472 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,474 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,475 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,476 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,477 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,479 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,480 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,481 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,482 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,483 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,509 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,537 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,559 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,582 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,604 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:03,615 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:18:03,615 INFO L303 Elim1Store]: Index analysis took 145 ms [2018-12-23 14:18:03,616 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 99 [2018-12-23 14:18:03,644 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:18:03,707 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-23 14:18:03,707 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2018-12-23 14:18:03,724 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:18:03,724 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_363|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_363| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_363| ULTIMATE.start_main_p3)) (= .cse0 0) (= (store |v_#memory_int_363| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (+ (select |v_#memory_int_363| ULTIMATE.start_main_p2) 1) 0) (= (select |v_#memory_int_363| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 1 (select |v_#memory_int_363| ULTIMATE.start_main_p1)))) [2018-12-23 14:18:03,724 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-23 14:18:03,777 INFO L273 TraceCheckUtils]: 0: Hoare triple {27209#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {27219#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:18:03,780 INFO L273 TraceCheckUtils]: 1: Hoare triple {27219#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {27223#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:18:03,783 INFO L273 TraceCheckUtils]: 2: Hoare triple {27223#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {27227#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:18:03,787 INFO L273 TraceCheckUtils]: 3: Hoare triple {27227#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {27231#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:18:03,793 INFO L273 TraceCheckUtils]: 4: Hoare triple {27231#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {27235#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2018-12-23 14:18:03,797 INFO L273 TraceCheckUtils]: 5: Hoare triple {27235#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {27210#false} is VALID [2018-12-23 14:18:03,797 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:18:03,797 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:18:03,984 INFO L273 TraceCheckUtils]: 5: Hoare triple {27239#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {27210#false} is VALID [2018-12-23 14:18:03,986 INFO L273 TraceCheckUtils]: 4: Hoare triple {27243#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {27239#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:18:03,986 INFO L273 TraceCheckUtils]: 3: Hoare triple {27247#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {27243#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:18:03,988 INFO L273 TraceCheckUtils]: 2: Hoare triple {27251#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {27247#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:18:03,989 INFO L273 TraceCheckUtils]: 1: Hoare triple {27255#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {27251#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:18:03,992 INFO L273 TraceCheckUtils]: 0: Hoare triple {27209#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {27255#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:18:03,992 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 6 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:18:04,011 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:18:04,011 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2018-12-23 14:18:04,012 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:18:04,012 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2018-12-23 14:18:04,012 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:18:04,012 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-12-23 14:18:04,042 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:18:04,042 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-12-23 14:18:04,042 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-12-23 14:18:04,042 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=102, Invalid=170, Unknown=0, NotChecked=0, Total=272 [2018-12-23 14:18:04,042 INFO L87 Difference]: Start difference. First operand 114 states and 599 transitions. Second operand 12 states. [2018-12-23 14:18:12,985 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:18:12,985 INFO L93 Difference]: Finished difference Result 186 states and 791 transitions. [2018-12-23 14:18:12,985 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-23 14:18:12,985 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2018-12-23 14:18:12,985 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:18:12,985 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-23 14:18:12,986 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 88 transitions. [2018-12-23 14:18:12,986 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-23 14:18:12,986 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 88 transitions. [2018-12-23 14:18:12,986 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 88 transitions. [2018-12-23 14:18:13,184 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:18:13,187 INFO L225 Difference]: With dead ends: 186 [2018-12-23 14:18:13,187 INFO L226 Difference]: Without dead ends: 184 [2018-12-23 14:18:13,188 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 100 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=134, Invalid=246, Unknown=0, NotChecked=0, Total=380 [2018-12-23 14:18:13,188 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 184 states. [2018-12-23 14:18:18,218 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 184 to 121. [2018-12-23 14:18:18,219 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:18:18,219 INFO L82 GeneralOperation]: Start isEquivalent. First operand 184 states. Second operand 121 states. [2018-12-23 14:18:18,219 INFO L74 IsIncluded]: Start isIncluded. First operand 184 states. Second operand 121 states. [2018-12-23 14:18:18,219 INFO L87 Difference]: Start difference. First operand 184 states. Second operand 121 states. [2018-12-23 14:18:18,224 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:18:18,225 INFO L93 Difference]: Finished difference Result 184 states and 785 transitions. [2018-12-23 14:18:18,225 INFO L276 IsEmpty]: Start isEmpty. Operand 184 states and 785 transitions. [2018-12-23 14:18:18,225 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:18:18,225 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:18:18,225 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand 184 states. [2018-12-23 14:18:18,225 INFO L87 Difference]: Start difference. First operand 121 states. Second operand 184 states. [2018-12-23 14:18:18,231 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:18:18,231 INFO L93 Difference]: Finished difference Result 184 states and 785 transitions. [2018-12-23 14:18:18,231 INFO L276 IsEmpty]: Start isEmpty. Operand 184 states and 785 transitions. [2018-12-23 14:18:18,232 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:18:18,232 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:18:18,232 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:18:18,232 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:18:18,232 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 121 states. [2018-12-23 14:18:18,235 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 632 transitions. [2018-12-23 14:18:18,235 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 632 transitions. Word has length 6 [2018-12-23 14:18:18,235 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:18:18,235 INFO L480 AbstractCegarLoop]: Abstraction has 121 states and 632 transitions. [2018-12-23 14:18:18,235 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-12-23 14:18:18,235 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 632 transitions. [2018-12-23 14:18:18,236 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:18:18,236 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:18:18,236 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:18:18,236 INFO L423 AbstractCegarLoop]: === Iteration 63 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:18:18,236 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:18:18,236 INFO L82 PathProgramCache]: Analyzing trace with hash 897179862, now seen corresponding path program 1 times [2018-12-23 14:18:18,236 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:18:18,237 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:18:18,237 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-23 14:18:18,237 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:18:18,237 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:18:18,240 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:18:18,373 INFO L273 TraceCheckUtils]: 0: Hoare triple {28162#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {28164#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:18:18,374 INFO L273 TraceCheckUtils]: 1: Hoare triple {28164#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {28164#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:18:18,375 INFO L273 TraceCheckUtils]: 2: Hoare triple {28164#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {28165#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= 0 (select |#memory_int| ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:18:18,375 INFO L273 TraceCheckUtils]: 3: Hoare triple {28165#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= 0 (select |#memory_int| ULTIMATE.start_main_p3)))} assume #memory_int[main_p1] >= 0; {28165#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= 0 (select |#memory_int| ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:18:18,376 INFO L273 TraceCheckUtils]: 4: Hoare triple {28165#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= 0 (select |#memory_int| ULTIMATE.start_main_p3)))} assume #memory_int[main_p2] <= 0; {28166#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:18:18,376 INFO L273 TraceCheckUtils]: 5: Hoare triple {28166#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {28163#false} is VALID [2018-12-23 14:18:18,376 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-23 14:18:18,376 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:18:18,376 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:18:18,377 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-23 14:18:18,377 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [24], [26], [27] [2018-12-23 14:18:18,377 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:18:18,377 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:18:18,388 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:18:18,388 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:18:18,388 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:18:18,388 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:18:18,388 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:18:18,389 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 61 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 61 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:18:18,398 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:18:18,398 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:18:18,402 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:18:18,406 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:18:18,406 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:18:18,449 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:18:18,462 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:18:18,477 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:18,477 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-23 14:18:18,499 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:18,500 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:18,501 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-23 14:18:18,523 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:18,528 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:18,529 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:18,530 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:18:18,536 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:18:18,560 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:18:18,575 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:18:18,589 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:18:18,603 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:18:18,624 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-23 14:18:18,624 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:28, output treesize:35 [2018-12-23 14:18:18,634 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:18:18,635 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_368|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_368| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:18:18,635 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:18:18,716 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:18,718 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:18,719 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:18,720 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:18,722 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:18,723 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:18,724 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:18,725 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 51 [2018-12-23 14:18:18,731 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:18:18,766 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-23 14:18:18,766 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2018-12-23 14:18:20,775 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:18:20,775 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_369|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_369| ULTIMATE.start_main_p2))) (and (= |#memory_int| (store |v_#memory_int_369| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_369| ULTIMATE.start_main_p5) 0) (= 0 (select |v_#memory_int_369| ULTIMATE.start_main_p4)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_369| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:18:20,775 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:18:20,861 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:20,862 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:20,863 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:20,864 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:20,866 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:20,890 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:20,891 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:20,892 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:20,893 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:20,893 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 67 [2018-12-23 14:18:20,897 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:18:20,933 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-23 14:18:20,933 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2018-12-23 14:18:20,952 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:18:20,952 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_370|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_370| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_370| ULTIMATE.start_main_p4) 0) (= .cse0 0) (= 0 (+ (select |v_#memory_int_370| ULTIMATE.start_main_p2) 1)) (= (store |v_#memory_int_370| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_370| ULTIMATE.start_main_p5) 0))) [2018-12-23 14:18:20,952 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:18:21,038 INFO L273 TraceCheckUtils]: 0: Hoare triple {28162#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {28170#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:18:21,040 INFO L273 TraceCheckUtils]: 1: Hoare triple {28170#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {28174#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:18:21,043 INFO L273 TraceCheckUtils]: 2: Hoare triple {28174#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {28178#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2018-12-23 14:18:21,044 INFO L273 TraceCheckUtils]: 3: Hoare triple {28178#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume #memory_int[main_p1] >= 0; {28178#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2018-12-23 14:18:21,045 INFO L273 TraceCheckUtils]: 4: Hoare triple {28178#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume #memory_int[main_p2] <= 0; {28178#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2018-12-23 14:18:21,046 INFO L273 TraceCheckUtils]: 5: Hoare triple {28178#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p3] >= 0); {28163#false} is VALID [2018-12-23 14:18:21,047 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-23 14:18:21,047 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:18:21,074 INFO L273 TraceCheckUtils]: 5: Hoare triple {28166#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {28163#false} is VALID [2018-12-23 14:18:21,075 INFO L273 TraceCheckUtils]: 4: Hoare triple {28166#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {28166#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:18:21,075 INFO L273 TraceCheckUtils]: 3: Hoare triple {28166#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {28166#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:18:21,076 INFO L273 TraceCheckUtils]: 2: Hoare triple {28197#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {28166#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:18:21,077 INFO L273 TraceCheckUtils]: 1: Hoare triple {28201#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {28197#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1))} is VALID [2018-12-23 14:18:21,079 INFO L273 TraceCheckUtils]: 0: Hoare triple {28162#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {28201#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1))} is VALID [2018-12-23 14:18:21,080 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-23 14:18:21,100 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:18:21,100 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2018-12-23 14:18:21,100 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:18:21,101 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-23 14:18:21,101 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:18:21,101 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:18:21,120 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:18:21,120 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:18:21,120 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:18:21,120 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=52, Unknown=0, NotChecked=0, Total=90 [2018-12-23 14:18:21,121 INFO L87 Difference]: Start difference. First operand 121 states and 632 transitions. Second operand 8 states. [2018-12-23 14:18:29,159 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:18:29,159 INFO L93 Difference]: Finished difference Result 161 states and 745 transitions. [2018-12-23 14:18:29,159 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-23 14:18:29,159 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-23 14:18:29,160 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:18:29,160 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:18:29,161 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 60 transitions. [2018-12-23 14:18:29,161 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:18:29,162 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 60 transitions. [2018-12-23 14:18:29,162 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 60 transitions. [2018-12-23 14:18:29,244 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:18:29,247 INFO L225 Difference]: With dead ends: 161 [2018-12-23 14:18:29,247 INFO L226 Difference]: Without dead ends: 160 [2018-12-23 14:18:29,248 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 5 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=53, Invalid=79, Unknown=0, NotChecked=0, Total=132 [2018-12-23 14:18:29,248 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 160 states. [2018-12-23 14:18:37,250 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 160 to 133. [2018-12-23 14:18:37,250 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:18:37,251 INFO L82 GeneralOperation]: Start isEquivalent. First operand 160 states. Second operand 133 states. [2018-12-23 14:18:37,251 INFO L74 IsIncluded]: Start isIncluded. First operand 160 states. Second operand 133 states. [2018-12-23 14:18:37,251 INFO L87 Difference]: Start difference. First operand 160 states. Second operand 133 states. [2018-12-23 14:18:37,259 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:18:37,259 INFO L93 Difference]: Finished difference Result 160 states and 742 transitions. [2018-12-23 14:18:37,259 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 742 transitions. [2018-12-23 14:18:37,260 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:18:37,260 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:18:37,260 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand 160 states. [2018-12-23 14:18:37,260 INFO L87 Difference]: Start difference. First operand 133 states. Second operand 160 states. [2018-12-23 14:18:37,268 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:18:37,268 INFO L93 Difference]: Finished difference Result 160 states and 742 transitions. [2018-12-23 14:18:37,268 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 742 transitions. [2018-12-23 14:18:37,269 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:18:37,269 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:18:37,269 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:18:37,269 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:18:37,269 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 133 states. [2018-12-23 14:18:37,277 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 133 states to 133 states and 714 transitions. [2018-12-23 14:18:37,277 INFO L78 Accepts]: Start accepts. Automaton has 133 states and 714 transitions. Word has length 6 [2018-12-23 14:18:37,277 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:18:37,277 INFO L480 AbstractCegarLoop]: Abstraction has 133 states and 714 transitions. [2018-12-23 14:18:37,277 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:18:37,277 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 714 transitions. [2018-12-23 14:18:37,278 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:18:37,278 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:18:37,278 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:18:37,278 INFO L423 AbstractCegarLoop]: === Iteration 64 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:18:37,278 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:18:37,279 INFO L82 PathProgramCache]: Analyzing trace with hash 900993110, now seen corresponding path program 2 times [2018-12-23 14:18:37,279 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:18:37,279 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:18:37,279 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:18:37,279 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:18:37,280 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:18:37,282 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:18:37,422 INFO L273 TraceCheckUtils]: 0: Hoare triple {29055#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {29057#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:18:37,423 INFO L273 TraceCheckUtils]: 1: Hoare triple {29057#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {29058#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:18:37,424 INFO L273 TraceCheckUtils]: 2: Hoare triple {29058#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {29059#(<= 1 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:18:37,424 INFO L273 TraceCheckUtils]: 3: Hoare triple {29059#(<= 1 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {29059#(<= 1 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:18:37,425 INFO L273 TraceCheckUtils]: 4: Hoare triple {29059#(<= 1 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {29059#(<= 1 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:18:37,426 INFO L273 TraceCheckUtils]: 5: Hoare triple {29059#(<= 1 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {29056#false} is VALID [2018-12-23 14:18:37,426 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-23 14:18:37,426 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:18:37,426 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:18:37,426 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-23 14:18:37,427 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2018-12-23 14:18:37,427 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:18:37,427 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 62 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 62 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:18:37,436 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-23 14:18:37,436 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-23 14:18:37,441 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2018-12-23 14:18:37,442 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-23 14:18:37,447 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:18:37,448 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:18:37,485 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:18:37,497 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:18:37,511 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 25 [2018-12-23 14:18:37,535 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:37,536 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 31 [2018-12-23 14:18:37,557 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:37,564 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:37,565 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 38 [2018-12-23 14:18:37,573 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:18:37,593 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:18:37,606 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:18:37,620 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:18:37,635 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:18:37,681 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:18:37,681 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:25, output treesize:32 [2018-12-23 14:18:37,687 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:18:37,687 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_373|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_373| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2018-12-23 14:18:37,688 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:18:37,751 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:37,753 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:37,754 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:37,755 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:37,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 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 34 [2018-12-23 14:18:37,760 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:18:37,779 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:18:37,779 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2018-12-23 14:18:37,791 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:18:37,791 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_374|, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_374| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_374| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_374| ULTIMATE.start_main_p5) 0) (= (store |v_#memory_int_374| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) [2018-12-23 14:18:37,791 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:18:37,852 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:37,854 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:37,855 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:37,856 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:37,857 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:37,858 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:18:37,859 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-23 14:18:37,864 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:18:37,886 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-23 14:18:37,887 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2018-12-23 14:18:39,548 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:18:39,549 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_375|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_375| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_375| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_375| ULTIMATE.start_main_p5) 0) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= |#memory_int| (store |v_#memory_int_375| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))))) [2018-12-23 14:18:39,549 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2018-12-23 14:18:39,637 INFO L273 TraceCheckUtils]: 0: Hoare triple {29055#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {29063#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:18:39,643 INFO L273 TraceCheckUtils]: 1: Hoare triple {29063#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {29067#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:18:39,644 INFO L273 TraceCheckUtils]: 2: Hoare triple {29067#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {29071#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-23 14:18:39,646 INFO L273 TraceCheckUtils]: 3: Hoare triple {29071#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {29071#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-23 14:18:39,646 INFO L273 TraceCheckUtils]: 4: Hoare triple {29071#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {29071#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-23 14:18:39,648 INFO L273 TraceCheckUtils]: 5: Hoare triple {29071#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {29056#false} is VALID [2018-12-23 14:18:39,648 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-23 14:18:39,648 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:18:39,736 INFO L273 TraceCheckUtils]: 5: Hoare triple {29081#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {29056#false} is VALID [2018-12-23 14:18:39,737 INFO L273 TraceCheckUtils]: 4: Hoare triple {29081#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {29081#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:18:39,737 INFO L273 TraceCheckUtils]: 3: Hoare triple {29081#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {29081#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:18:39,739 INFO L273 TraceCheckUtils]: 2: Hoare triple {29091#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {29081#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:18:39,740 INFO L273 TraceCheckUtils]: 1: Hoare triple {29095#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {29091#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:18:39,745 INFO L273 TraceCheckUtils]: 0: Hoare triple {29055#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {29095#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:18:39,745 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-23 14:18:39,765 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:18:39,765 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:18:39,765 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:18:39,765 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-23 14:18:39,766 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:18:39,766 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:18:39,791 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:18:39,791 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:18:39,791 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:18:39,791 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=65, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:18:39,791 INFO L87 Difference]: Start difference. First operand 133 states and 714 transitions. Second operand 8 states. [2018-12-23 14:18:49,953 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:18:49,954 INFO L93 Difference]: Finished difference Result 172 states and 801 transitions. [2018-12-23 14:18:49,954 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-23 14:18:49,954 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-23 14:18:49,954 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:18:49,954 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:18:49,955 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 66 transitions. [2018-12-23 14:18:49,955 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:18:49,955 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 66 transitions. [2018-12-23 14:18:49,956 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 66 transitions. [2018-12-23 14:18:50,067 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:18:50,070 INFO L225 Difference]: With dead ends: 172 [2018-12-23 14:18:50,070 INFO L226 Difference]: Without dead ends: 170 [2018-12-23 14:18:50,071 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=53, Invalid=79, Unknown=0, NotChecked=0, Total=132 [2018-12-23 14:18:50,071 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 170 states. [2018-12-23 14:18:59,377 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 170 to 137. [2018-12-23 14:18:59,378 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:18:59,378 INFO L82 GeneralOperation]: Start isEquivalent. First operand 170 states. Second operand 137 states. [2018-12-23 14:18:59,378 INFO L74 IsIncluded]: Start isIncluded. First operand 170 states. Second operand 137 states. [2018-12-23 14:18:59,378 INFO L87 Difference]: Start difference. First operand 170 states. Second operand 137 states. [2018-12-23 14:18:59,384 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:18:59,384 INFO L93 Difference]: Finished difference Result 170 states and 798 transitions. [2018-12-23 14:18:59,384 INFO L276 IsEmpty]: Start isEmpty. Operand 170 states and 798 transitions. [2018-12-23 14:18:59,385 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:18:59,385 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:18:59,385 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand 170 states. [2018-12-23 14:18:59,385 INFO L87 Difference]: Start difference. First operand 137 states. Second operand 170 states. [2018-12-23 14:18:59,392 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:18:59,393 INFO L93 Difference]: Finished difference Result 170 states and 798 transitions. [2018-12-23 14:18:59,393 INFO L276 IsEmpty]: Start isEmpty. Operand 170 states and 798 transitions. [2018-12-23 14:18:59,393 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:18:59,393 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:18:59,394 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:18:59,394 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:18:59,394 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 137 states. [2018-12-23 14:18:59,399 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 137 states to 137 states and 738 transitions. [2018-12-23 14:18:59,400 INFO L78 Accepts]: Start accepts. Automaton has 137 states and 738 transitions. Word has length 6 [2018-12-23 14:18:59,400 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:18:59,400 INFO L480 AbstractCegarLoop]: Abstraction has 137 states and 738 transitions. [2018-12-23 14:18:59,400 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:18:59,400 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 738 transitions. [2018-12-23 14:18:59,400 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:18:59,401 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:18:59,401 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:18:59,401 INFO L423 AbstractCegarLoop]: === Iteration 65 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:18:59,401 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:18:59,401 INFO L82 PathProgramCache]: Analyzing trace with hash 900629352, now seen corresponding path program 3 times [2018-12-23 14:18:59,401 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:18:59,402 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:18:59,402 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-23 14:18:59,402 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:18:59,402 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:18:59,405 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:00,001 INFO L273 TraceCheckUtils]: 0: Hoare triple {29995#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {29997#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:19:00,002 INFO L273 TraceCheckUtils]: 1: Hoare triple {29997#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {29998#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:19:00,003 INFO L273 TraceCheckUtils]: 2: Hoare triple {29998#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {29999#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:19:00,004 INFO L273 TraceCheckUtils]: 3: Hoare triple {29999#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {30000#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:19:00,005 INFO L273 TraceCheckUtils]: 4: Hoare triple {30000#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {30001#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:00,006 INFO L273 TraceCheckUtils]: 5: Hoare triple {30001#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {29996#false} is VALID [2018-12-23 14:19:00,007 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:00,007 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:00,007 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:19:00,007 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-23 14:19:00,007 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2018-12-23 14:19:00,007 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:00,007 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 63 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 63 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:19:00,018 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-12-23 14:19:00,018 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder TERMS_WITH_SMALL_CONSTANTS_FIRST (IT: FPandBP) [2018-12-23 14:19:00,024 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-12-23 14:19:00,024 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-23 14:19:00,027 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:00,028 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:19:00,056 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:19:00,070 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,071 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:19:00,097 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,099 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,100 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:19:00,134 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,136 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,138 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,139 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:19:00,181 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,183 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,185 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,187 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,187 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:19:00,198 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:00,245 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:00,270 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:00,287 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:00,303 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:00,332 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:00,332 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2018-12-23 14:19:00,340 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:00,340 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_378|, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_378| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:19:00,340 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:19:00,474 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,476 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,477 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,478 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,480 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,482 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,484 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,486 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,488 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,490 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,492 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,493 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-23 14:19:00,501 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:00,552 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-23 14:19:00,552 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-23 14:19:00,610 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:00,611 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_379|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_379| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= |#memory_int| (store |v_#memory_int_379| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (select |v_#memory_int_379| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_379| ULTIMATE.start_main_p4)) (= (select |v_#memory_int_379| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_379| ULTIMATE.start_main_p1) 0))) [2018-12-23 14:19:00,611 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:19:00,708 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,710 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,711 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,712 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,713 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,715 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,716 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,717 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,719 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,720 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,721 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,722 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,722 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:19:00,723 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-23 14:19:00,731 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:00,784 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-23 14:19:00,785 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-23 14:19:00,801 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:00,802 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_380|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_380| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_380| ULTIMATE.start_main_p3) 1) (= (select |v_#memory_int_380| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_380| ULTIMATE.start_main_p4) 0) (= (store |v_#memory_int_380| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_380| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:19:00,802 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:19:00,901 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,903 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,904 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,905 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,906 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,908 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,909 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,910 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,911 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,912 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,913 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,915 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,916 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:00,917 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-23 14:19:00,924 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:00,978 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-23 14:19:00,978 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2018-12-23 14:19:00,992 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:00,992 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_381|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_381| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_381| ULTIMATE.start_main_p3) 1) (= (select |v_#memory_int_381| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_381| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_381| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_381| ULTIMATE.start_main_p1) 1) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:19:00,992 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:19:01,101 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:01,102 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:01,103 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:01,104 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:01,105 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:01,106 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:01,108 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:01,109 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:01,110 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:01,112 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:01,113 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:01,114 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:01,115 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:19:01,116 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:01,117 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-23 14:19:01,125 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:01,183 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-23 14:19:01,183 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2018-12-23 14:19:01,213 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:01,213 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_382|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_382| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_382| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |v_#memory_int_382| ULTIMATE.start_main_p4) 1)) (= 1 (select |v_#memory_int_382| ULTIMATE.start_main_p3)) (= |#memory_int| (store |v_#memory_int_382| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_382| ULTIMATE.start_main_p5) 0))) [2018-12-23 14:19:01,214 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:19:01,297 INFO L273 TraceCheckUtils]: 0: Hoare triple {29995#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {30005#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:19:01,300 INFO L273 TraceCheckUtils]: 1: Hoare triple {30005#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {30009#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:19:01,302 INFO L273 TraceCheckUtils]: 2: Hoare triple {30009#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {30013#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:19:01,306 INFO L273 TraceCheckUtils]: 3: Hoare triple {30013#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {30017#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:19:01,313 INFO L273 TraceCheckUtils]: 4: Hoare triple {30017#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {30021#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2018-12-23 14:19:01,314 INFO L273 TraceCheckUtils]: 5: Hoare triple {30021#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {29996#false} is VALID [2018-12-23 14:19:01,314 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:01,314 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:19:01,467 INFO L273 TraceCheckUtils]: 5: Hoare triple {30025#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {29996#false} is VALID [2018-12-23 14:19:01,468 INFO L273 TraceCheckUtils]: 4: Hoare triple {30029#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {30025#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:01,470 INFO L273 TraceCheckUtils]: 3: Hoare triple {30033#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {30029#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:01,472 INFO L273 TraceCheckUtils]: 2: Hoare triple {30037#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {30033#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:01,474 INFO L273 TraceCheckUtils]: 1: Hoare triple {30041#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {30037#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:01,477 INFO L273 TraceCheckUtils]: 0: Hoare triple {29995#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {30041#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:01,477 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 5 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:01,498 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:19:01,498 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2018-12-23 14:19:01,498 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:19:01,499 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2018-12-23 14:19:01,499 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:19:01,499 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-12-23 14:19:01,521 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:01,522 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-12-23 14:19:01,522 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-12-23 14:19:01,522 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=100, Invalid=172, Unknown=0, NotChecked=0, Total=272 [2018-12-23 14:19:01,522 INFO L87 Difference]: Start difference. First operand 137 states and 738 transitions. Second operand 12 states. [2018-12-23 14:19:16,906 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:16,907 INFO L93 Difference]: Finished difference Result 209 states and 906 transitions. [2018-12-23 14:19:16,907 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-23 14:19:16,907 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2018-12-23 14:19:16,907 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:19:16,907 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-23 14:19:16,908 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 91 transitions. [2018-12-23 14:19:16,908 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-23 14:19:16,909 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 91 transitions. [2018-12-23 14:19:16,909 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 91 transitions. [2018-12-23 14:19:17,332 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:17,337 INFO L225 Difference]: With dead ends: 209 [2018-12-23 14:19:17,338 INFO L226 Difference]: Without dead ends: 207 [2018-12-23 14:19:17,338 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 99 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=132, Invalid=248, Unknown=0, NotChecked=0, Total=380 [2018-12-23 14:19:17,338 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 207 states. [2018-12-23 14:19:25,083 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 207 to 123. [2018-12-23 14:19:25,083 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:19:25,083 INFO L82 GeneralOperation]: Start isEquivalent. First operand 207 states. Second operand 123 states. [2018-12-23 14:19:25,084 INFO L74 IsIncluded]: Start isIncluded. First operand 207 states. Second operand 123 states. [2018-12-23 14:19:25,084 INFO L87 Difference]: Start difference. First operand 207 states. Second operand 123 states. [2018-12-23 14:19:25,090 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:25,090 INFO L93 Difference]: Finished difference Result 207 states and 901 transitions. [2018-12-23 14:19:25,090 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 901 transitions. [2018-12-23 14:19:25,090 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:25,090 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:25,090 INFO L74 IsIncluded]: Start isIncluded. First operand 123 states. Second operand 207 states. [2018-12-23 14:19:25,091 INFO L87 Difference]: Start difference. First operand 123 states. Second operand 207 states. [2018-12-23 14:19:25,095 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:25,096 INFO L93 Difference]: Finished difference Result 207 states and 901 transitions. [2018-12-23 14:19:25,096 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 901 transitions. [2018-12-23 14:19:25,096 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:25,096 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:25,096 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:19:25,096 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:19:25,096 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 123 states. [2018-12-23 14:19:25,099 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 123 states to 123 states and 652 transitions. [2018-12-23 14:19:25,099 INFO L78 Accepts]: Start accepts. Automaton has 123 states and 652 transitions. Word has length 6 [2018-12-23 14:19:25,100 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:19:25,100 INFO L480 AbstractCegarLoop]: Abstraction has 123 states and 652 transitions. [2018-12-23 14:19:25,100 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-12-23 14:19:25,100 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 652 transitions. [2018-12-23 14:19:25,100 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:19:25,100 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:19:25,100 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:19:25,101 INFO L423 AbstractCegarLoop]: === Iteration 66 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:19:25,101 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:25,101 INFO L82 PathProgramCache]: Analyzing trace with hash 900750874, now seen corresponding path program 2 times [2018-12-23 14:19:25,101 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:19:25,101 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:25,102 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-23 14:19:25,102 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:25,102 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:19:25,104 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:25,290 INFO L273 TraceCheckUtils]: 0: Hoare triple {31042#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {31044#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:19:25,291 INFO L273 TraceCheckUtils]: 1: Hoare triple {31044#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {31045#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-23 14:19:25,292 INFO L273 TraceCheckUtils]: 2: Hoare triple {31045#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {31046#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0))} is VALID [2018-12-23 14:19:25,293 INFO L273 TraceCheckUtils]: 3: Hoare triple {31046#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {31047#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:19:25,293 INFO L273 TraceCheckUtils]: 4: Hoare triple {31047#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {31047#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:19:25,293 INFO L273 TraceCheckUtils]: 5: Hoare triple {31047#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {31043#false} is VALID [2018-12-23 14:19:25,293 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-23 14:19:25,294 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:25,294 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:19:25,294 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-23 14:19:25,294 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2018-12-23 14:19:25,294 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:25,294 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 64 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 64 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:19:25,308 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-23 14:19:25,308 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-23 14:19:25,314 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-12-23 14:19:25,314 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-23 14:19:25,318 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:25,319 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:19:25,351 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:19:25,363 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:19:25,379 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,379 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-23 14:19:25,401 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,402 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,403 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-23 14:19:25,427 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,432 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,433 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,434 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:19:25,442 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:25,468 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:25,484 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:25,497 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:25,512 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:25,537 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-23 14:19:25,537 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:28, output treesize:35 [2018-12-23 14:19:25,546 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:25,547 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_387|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_387| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:19:25,547 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:19:25,660 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,661 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,662 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,664 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,668 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,670 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,671 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,672 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 51 [2018-12-23 14:19:25,682 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:25,748 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-23 14:19:25,748 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2018-12-23 14:19:27,758 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:27,758 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_388|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_388| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_388| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_388| ULTIMATE.start_main_p4)) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store |v_#memory_int_388| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (select |v_#memory_int_388| ULTIMATE.start_main_p2) 0))) [2018-12-23 14:19:27,758 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:19:27,829 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:27,830 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:27,832 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:27,833 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:27,834 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:27,835 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:27,836 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:27,838 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:27,839 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:27,839 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 65 [2018-12-23 14:19:27,845 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:27,884 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-23 14:19:27,884 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2018-12-23 14:19:27,894 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:27,894 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_389|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_389| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_389| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_389| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_389| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store |v_#memory_int_389| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:19:27,894 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:19:27,962 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:27,964 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:27,990 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:28,003 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:28,004 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:28,005 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:28,006 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:28,006 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:28,007 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:28,008 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:28,009 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:28,010 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:19:28,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, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 83 [2018-12-23 14:19:28,029 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:28,073 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-23 14:19:28,073 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2018-12-23 14:19:28,085 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:28,086 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_390|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_390| ULTIMATE.start_main_p5))) (and (= 0 (+ (select |v_#memory_int_390| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_390| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_390| ULTIMATE.start_main_p4)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (store |v_#memory_int_390| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|))) [2018-12-23 14:19:28,086 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-23 14:19:28,154 INFO L273 TraceCheckUtils]: 0: Hoare triple {31042#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {31051#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:19:28,156 INFO L273 TraceCheckUtils]: 1: Hoare triple {31051#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {31055#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:19:28,157 INFO L273 TraceCheckUtils]: 2: Hoare triple {31055#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {31059#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-23 14:19:28,159 INFO L273 TraceCheckUtils]: 3: Hoare triple {31059#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {31063#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:19:28,160 INFO L273 TraceCheckUtils]: 4: Hoare triple {31063#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {31063#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:19:28,161 INFO L273 TraceCheckUtils]: 5: Hoare triple {31063#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {31043#false} is VALID [2018-12-23 14:19:28,162 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-23 14:19:28,162 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:19:28,258 INFO L273 TraceCheckUtils]: 5: Hoare triple {31047#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {31043#false} is VALID [2018-12-23 14:19:28,258 INFO L273 TraceCheckUtils]: 4: Hoare triple {31047#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {31047#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:19:28,259 INFO L273 TraceCheckUtils]: 3: Hoare triple {31076#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {31047#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:19:28,261 INFO L273 TraceCheckUtils]: 2: Hoare triple {31080#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {31076#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:19:28,262 INFO L273 TraceCheckUtils]: 1: Hoare triple {31084#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {31080#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:19:28,265 INFO L273 TraceCheckUtils]: 0: Hoare triple {31042#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {31084#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:19:28,265 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 3 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:28,285 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:19:28,285 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2018-12-23 14:19:28,285 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:19:28,285 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-23 14:19:28,285 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:19:28,286 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-23 14:19:28,306 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:28,306 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-23 14:19:28,306 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-23 14:19:28,306 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=91, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:19:28,306 INFO L87 Difference]: Start difference. First operand 123 states and 652 transitions. Second operand 10 states. [2018-12-23 14:19:36,683 WARN L181 SmtUtils]: Spent 140.00 ms on a formula simplification. DAG size of input: 28 DAG size of output: 24 [2018-12-23 14:19:39,664 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:39,664 INFO L93 Difference]: Finished difference Result 180 states and 787 transitions. [2018-12-23 14:19:39,664 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-23 14:19:39,664 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-23 14:19:39,664 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:19:39,664 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:19:39,665 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 78 transitions. [2018-12-23 14:19:39,665 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:19:39,665 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 78 transitions. [2018-12-23 14:19:39,665 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 78 transitions. [2018-12-23 14:19:39,784 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:39,788 INFO L225 Difference]: With dead ends: 180 [2018-12-23 14:19:39,788 INFO L226 Difference]: Without dead ends: 173 [2018-12-23 14:19:39,789 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 52 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2018-12-23 14:19:39,789 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 173 states. [2018-12-23 14:19:49,470 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 173 to 134. [2018-12-23 14:19:49,471 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:19:49,471 INFO L82 GeneralOperation]: Start isEquivalent. First operand 173 states. Second operand 134 states. [2018-12-23 14:19:49,471 INFO L74 IsIncluded]: Start isIncluded. First operand 173 states. Second operand 134 states. [2018-12-23 14:19:49,471 INFO L87 Difference]: Start difference. First operand 173 states. Second operand 134 states. [2018-12-23 14:19:49,476 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:49,476 INFO L93 Difference]: Finished difference Result 173 states and 777 transitions. [2018-12-23 14:19:49,476 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 777 transitions. [2018-12-23 14:19:49,476 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:49,476 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:49,476 INFO L74 IsIncluded]: Start isIncluded. First operand 134 states. Second operand 173 states. [2018-12-23 14:19:49,476 INFO L87 Difference]: Start difference. First operand 134 states. Second operand 173 states. [2018-12-23 14:19:49,480 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:49,480 INFO L93 Difference]: Finished difference Result 173 states and 777 transitions. [2018-12-23 14:19:49,481 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 777 transitions. [2018-12-23 14:19:49,481 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:49,481 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:49,481 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:19:49,481 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:19:49,481 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 134 states. [2018-12-23 14:19:49,484 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 134 states to 134 states and 703 transitions. [2018-12-23 14:19:49,484 INFO L78 Accepts]: Start accepts. Automaton has 134 states and 703 transitions. Word has length 6 [2018-12-23 14:19:49,485 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:19:49,485 INFO L480 AbstractCegarLoop]: Abstraction has 134 states and 703 transitions. [2018-12-23 14:19:49,485 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-23 14:19:49,485 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 703 transitions. [2018-12-23 14:19:49,485 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2018-12-23 14:19:49,485 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:19:49,485 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2018-12-23 14:19:49,485 INFO L423 AbstractCegarLoop]: === Iteration 67 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:19:49,485 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:49,486 INFO L82 PathProgramCache]: Analyzing trace with hash -2018172698, now seen corresponding path program 1 times [2018-12-23 14:19:49,486 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:19:49,486 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:49,486 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-23 14:19:49,486 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:49,487 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:19:49,489 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:49,812 INFO L273 TraceCheckUtils]: 0: Hoare triple {31987#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {31989#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:19:49,813 INFO L273 TraceCheckUtils]: 1: Hoare triple {31989#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {31990#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:19:49,814 INFO L273 TraceCheckUtils]: 2: Hoare triple {31990#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {31991#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:19:49,815 INFO L273 TraceCheckUtils]: 3: Hoare triple {31991#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {31991#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:19:49,816 INFO L273 TraceCheckUtils]: 4: Hoare triple {31991#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {31992#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-23 14:19:49,817 INFO L273 TraceCheckUtils]: 5: Hoare triple {31992#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {31993#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:19:49,817 INFO L273 TraceCheckUtils]: 6: Hoare triple {31993#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {31988#false} is VALID [2018-12-23 14:19:49,818 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-23 14:19:49,818 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:49,818 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:19:49,818 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2018-12-23 14:19:49,818 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [18], [20], [24], [25] [2018-12-23 14:19:49,822 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:19:49,822 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:19:49,839 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:19:49,839 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 4 fixpoints after 4 different actions. Largest state had 0 variables. [2018-12-23 14:19:49,840 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:49,840 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:19:49,840 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:49,840 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 65 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 65 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:19:49,850 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:49,850 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:19:49,855 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:49,861 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:49,861 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:19:49,891 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:19:49,901 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:49,902 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:19:49,917 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:49,918 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:49,919 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:19:49,940 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:49,941 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:49,942 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:49,942 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:19:49,971 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:49,973 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:49,974 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:49,976 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:49,976 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:19:49,984 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:50,016 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:50,036 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:50,050 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:50,062 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:50,088 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:50,088 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2018-12-23 14:19:50,097 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:50,098 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_394|, ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_394| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:19:50,098 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:19:50,188 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:50,190 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:50,191 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:50,192 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:50,194 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:50,195 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:50,197 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:50,198 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:50,199 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:50,201 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:50,202 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:50,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-23 14:19:50,211 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:50,262 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:50,263 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-23 14:19:52,269 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:52,269 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_395|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_395| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_395| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_395| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_395| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_395| ULTIMATE.start_main_p2) 0) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store |v_#memory_int_395| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:19:52,269 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:19:52,372 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:52,374 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:52,375 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:52,376 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:52,378 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:52,379 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:52,380 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:52,381 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:52,383 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:52,384 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:52,385 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:52,386 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:52,387 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:52,388 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-23 14:19:52,396 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:52,452 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:52,452 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2018-12-23 14:19:54,459 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:54,459 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_396|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_396| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_396| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_396| ULTIMATE.start_main_p3)) (= (+ (select |v_#memory_int_396| ULTIMATE.start_main_p4) 1) 0) (= .cse0 0) (= (select |v_#memory_int_396| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store |v_#memory_int_396| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:19:54,460 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:19:54,560 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:54,561 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:54,562 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:54,563 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:54,564 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:54,566 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:54,567 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:54,568 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:54,570 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:54,571 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:54,573 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:54,574 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:54,575 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:54,576 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:54,577 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:19:54,578 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 94 [2018-12-23 14:19:54,586 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:54,645 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-23 14:19:54,646 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2018-12-23 14:19:56,768 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:56,768 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_397|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_397| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_397| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_397| ULTIMATE.start_main_p3)) (= |#memory_int| (store |v_#memory_int_397| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 (+ (select |v_#memory_int_397| ULTIMATE.start_main_p4) 1)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |v_#memory_int_397| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:19:56,768 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:19:56,910 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:56,911 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:56,912 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:56,914 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:56,915 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:56,916 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:56,918 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:56,919 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:56,921 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:56,922 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:56,923 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:56,924 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:56,925 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:19:56,926 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:56,927 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 93 [2018-12-23 14:19:56,937 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:56,996 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-23 14:19:56,997 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2018-12-23 14:19:57,042 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:57,043 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_398|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_398| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_398| ULTIMATE.start_main_p5)) (= 0 .cse0) (= 1 (select |v_#memory_int_398| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_398| ULTIMATE.start_main_p3)) (= 0 (+ (select |v_#memory_int_398| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store |v_#memory_int_398| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))))) [2018-12-23 14:19:57,043 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:19:57,127 INFO L273 TraceCheckUtils]: 0: Hoare triple {31987#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {31997#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:19:57,130 INFO L273 TraceCheckUtils]: 1: Hoare triple {31997#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {32001#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2018-12-23 14:19:57,134 INFO L273 TraceCheckUtils]: 2: Hoare triple {32001#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {32005#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:19:57,138 INFO L273 TraceCheckUtils]: 3: Hoare triple {32005#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {32009#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:19:57,141 INFO L273 TraceCheckUtils]: 4: Hoare triple {32009#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {32013#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2018-12-23 14:19:57,142 INFO L273 TraceCheckUtils]: 5: Hoare triple {32013#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume #memory_int[main_p1] >= 0; {32013#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2018-12-23 14:19:57,143 INFO L273 TraceCheckUtils]: 6: Hoare triple {32013#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume !(#memory_int[main_p2] <= 0); {31988#false} is VALID [2018-12-23 14:19:57,144 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:57,144 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:19:57,415 INFO L273 TraceCheckUtils]: 6: Hoare triple {31993#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {31988#false} is VALID [2018-12-23 14:19:57,416 INFO L273 TraceCheckUtils]: 5: Hoare triple {31993#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {31993#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:19:57,417 INFO L273 TraceCheckUtils]: 4: Hoare triple {32026#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {31993#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:19:57,418 INFO L273 TraceCheckUtils]: 3: Hoare triple {32030#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {32026#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2018-12-23 14:19:57,419 INFO L273 TraceCheckUtils]: 2: Hoare triple {32034#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {32030#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2018-12-23 14:19:57,422 INFO L273 TraceCheckUtils]: 1: Hoare triple {32038#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {32034#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2018-12-23 14:19:57,424 INFO L273 TraceCheckUtils]: 0: Hoare triple {31987#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {32038#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2018-12-23 14:19:57,425 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 3 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:57,445 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:19:57,445 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 14 [2018-12-23 14:19:57,445 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:19:57,445 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2018-12-23 14:19:57,446 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:19:57,446 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-12-23 14:19:57,471 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:57,471 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-12-23 14:19:57,471 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-12-23 14:19:57,472 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=93, Invalid=147, Unknown=0, NotChecked=0, Total=240 [2018-12-23 14:19:57,472 INFO L87 Difference]: Start difference. First operand 134 states and 703 transitions. Second operand 12 states. [2018-12-23 14:20:09,505 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:09,506 INFO L93 Difference]: Finished difference Result 189 states and 804 transitions. [2018-12-23 14:20:09,506 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-12-23 14:20:09,506 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2018-12-23 14:20:09,506 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:20:09,506 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-23 14:20:09,506 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 85 transitions. [2018-12-23 14:20:09,507 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-23 14:20:09,507 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 85 transitions. [2018-12-23 14:20:09,507 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 85 transitions. [2018-12-23 14:20:09,659 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-23 14:20:09,664 INFO L225 Difference]: With dead ends: 189 [2018-12-23 14:20:09,664 INFO L226 Difference]: Without dead ends: 188 [2018-12-23 14:20:09,664 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 89 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=138, Invalid=242, Unknown=0, NotChecked=0, Total=380 [2018-12-23 14:20:09,664 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 188 states. [2018-12-23 14:20:18,960 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 188 to 133. [2018-12-23 14:20:18,960 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:20:18,960 INFO L82 GeneralOperation]: Start isEquivalent. First operand 188 states. Second operand 133 states. [2018-12-23 14:20:18,960 INFO L74 IsIncluded]: Start isIncluded. First operand 188 states. Second operand 133 states. [2018-12-23 14:20:18,960 INFO L87 Difference]: Start difference. First operand 188 states. Second operand 133 states. [2018-12-23 14:20:18,966 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:18,966 INFO L93 Difference]: Finished difference Result 188 states and 802 transitions. [2018-12-23 14:20:18,966 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 802 transitions. [2018-12-23 14:20:18,966 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:18,967 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:18,967 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand 188 states. [2018-12-23 14:20:18,967 INFO L87 Difference]: Start difference. First operand 133 states. Second operand 188 states. [2018-12-23 14:20:18,971 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:18,972 INFO L93 Difference]: Finished difference Result 188 states and 802 transitions. [2018-12-23 14:20:18,972 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 802 transitions. [2018-12-23 14:20:18,972 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:18,972 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:18,972 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:20:18,973 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:20:18,973 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 133 states. [2018-12-23 14:20:18,976 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 133 states to 133 states and 697 transitions. [2018-12-23 14:20:18,976 INFO L78 Accepts]: Start accepts. Automaton has 133 states and 697 transitions. Word has length 7 [2018-12-23 14:20:18,977 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:20:18,977 INFO L480 AbstractCegarLoop]: Abstraction has 133 states and 697 transitions. [2018-12-23 14:20:18,977 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-12-23 14:20:18,977 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 697 transitions. [2018-12-23 14:20:18,977 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2018-12-23 14:20:18,977 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:20:18,977 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2018-12-23 14:20:18,977 INFO L423 AbstractCegarLoop]: === Iteration 68 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:20:18,977 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:18,978 INFO L82 PathProgramCache]: Analyzing trace with hash -2018168854, now seen corresponding path program 1 times [2018-12-23 14:20:18,978 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:20:18,978 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:18,978 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:20:18,978 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:18,978 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:20:18,981 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:19,344 INFO L273 TraceCheckUtils]: 0: Hoare triple {32984#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {32986#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:20:19,345 INFO L273 TraceCheckUtils]: 1: Hoare triple {32986#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {32987#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:20:19,346 INFO L273 TraceCheckUtils]: 2: Hoare triple {32987#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {32988#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:20:19,347 INFO L273 TraceCheckUtils]: 3: Hoare triple {32988#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {32988#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:20:19,348 INFO L273 TraceCheckUtils]: 4: Hoare triple {32988#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {32989#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:19,349 INFO L273 TraceCheckUtils]: 5: Hoare triple {32989#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {32989#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:19,349 INFO L273 TraceCheckUtils]: 6: Hoare triple {32989#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {32985#false} is VALID [2018-12-23 14:20:19,350 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-23 14:20:19,350 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:19,350 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:20:19,351 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2018-12-23 14:20:19,351 INFO L207 CegarAbsIntRunner]: [0], [6], [14], [18], [20], [24], [25] [2018-12-23 14:20:19,352 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:20:19,352 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:20:19,360 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:20:19,361 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 4 fixpoints after 4 different actions. Largest state had 0 variables. [2018-12-23 14:20:19,361 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:19,361 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:20:19,361 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:19,361 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 66 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 66 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:20:19,370 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:20:19,370 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:20:19,375 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:19,379 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:19,379 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:20:19,412 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:20:19,423 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:19,424 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:20:19,443 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:19,445 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:19,445 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:20:19,474 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:19,476 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:19,478 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:19,479 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:20:19,515 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:19,517 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:19,519 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:19,521 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:19,521 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:20:19,531 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:19,562 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:19,581 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:19,598 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:19,613 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:19,637 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:19,637 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 1 variables, input treesize:31, output treesize:38 [2018-12-23 14:20:19,644 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:19,644 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_403|]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_403| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:20:19,644 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:20:19,745 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:19,746 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:19,747 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:19,748 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:19,750 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:19,751 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:19,752 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:19,753 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:19,755 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:19,756 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:19,757 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:19,758 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-23 14:20:19,766 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:19,816 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:19,816 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:48, output treesize:38 [2018-12-23 14:20:21,833 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:21,833 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_404|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_404| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_404| ULTIMATE.start_main_p1)) (= .cse0 0) (= (store |v_#memory_int_404| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_404| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_404| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_404| ULTIMATE.start_main_p2)))) [2018-12-23 14:20:21,833 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:20:21,941 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:21,942 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:21,944 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:21,945 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:21,947 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:21,948 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:21,949 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:21,951 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:21,952 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:21,954 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:21,955 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:21,956 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:21,957 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:21,958 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 80 [2018-12-23 14:20:21,967 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:22,023 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-23 14:20:22,023 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:50, output treesize:40 [2018-12-23 14:20:24,234 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:24,234 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_405|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_405| ULTIMATE.start_main_p5))) (and (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_405| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_405| ULTIMATE.start_main_p2) 0) (= (+ (select |v_#memory_int_405| ULTIMATE.start_main_p4) 1) 0) (= |#memory_int| (store |v_#memory_int_405| ULTIMATE.start_main_p5 (+ .cse0 1))) (= (select |v_#memory_int_405| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:20:24,234 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:20:24,382 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:24,383 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:24,384 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:24,385 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:24,387 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:24,388 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:24,389 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:24,391 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:24,392 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:24,394 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:24,395 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:24,396 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:24,397 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:24,399 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:24,399 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:20:24,400 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 94 [2018-12-23 14:20:24,410 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:24,469 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-23 14:20:24,470 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2018-12-23 14:20:24,487 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:24,488 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_406|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_406| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_406| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_406| ULTIMATE.start_main_p5)) (= (+ (select |v_#memory_int_406| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= .cse0 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store |v_#memory_int_406| ULTIMATE.start_main_p1 (+ .cse0 1))) (= (select |v_#memory_int_406| ULTIMATE.start_main_p3) 0))) [2018-12-23 14:20:24,488 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:20:24,599 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:24,600 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:24,601 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:24,603 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:24,604 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:24,605 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:24,607 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:24,608 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:24,610 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:24,611 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:24,612 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:24,613 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:24,614 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:24,615 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:24,616 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:20:24,617 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 98 [2018-12-23 14:20:24,630 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:24,692 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-23 14:20:24,693 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2018-12-23 14:20:24,776 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:24,777 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_407|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_407| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_407| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_407| ULTIMATE.start_main_p5) 1) (= (+ (select |v_#memory_int_407| ULTIMATE.start_main_p4) 1) 0) (= (select |v_#memory_int_407| ULTIMATE.start_main_p1) 1) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store |v_#memory_int_407| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:20:24,777 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:20:24,874 INFO L273 TraceCheckUtils]: 0: Hoare triple {32984#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {32993#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:20:24,876 INFO L273 TraceCheckUtils]: 1: Hoare triple {32993#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {32997#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:20:24,878 INFO L273 TraceCheckUtils]: 2: Hoare triple {32997#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {33001#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:20:24,880 INFO L273 TraceCheckUtils]: 3: Hoare triple {33001#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {33005#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:20:24,883 INFO L273 TraceCheckUtils]: 4: Hoare triple {33005#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {33009#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:20:24,884 INFO L273 TraceCheckUtils]: 5: Hoare triple {33009#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {33009#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:20:24,885 INFO L273 TraceCheckUtils]: 6: Hoare triple {33009#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {32985#false} is VALID [2018-12-23 14:20:24,885 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:24,885 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:20:25,045 INFO L273 TraceCheckUtils]: 6: Hoare triple {33016#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {32985#false} is VALID [2018-12-23 14:20:25,046 INFO L273 TraceCheckUtils]: 5: Hoare triple {33016#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {33016#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:25,047 INFO L273 TraceCheckUtils]: 4: Hoare triple {33023#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {33016#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:25,049 INFO L273 TraceCheckUtils]: 3: Hoare triple {33027#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {33023#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:25,051 INFO L273 TraceCheckUtils]: 2: Hoare triple {33031#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {33027#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:25,054 INFO L273 TraceCheckUtils]: 1: Hoare triple {33035#(<= (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {33031#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:25,056 INFO L273 TraceCheckUtils]: 0: Hoare triple {32984#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {33035#(<= (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:25,057 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:25,078 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:20:25,078 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 5, 5] total 14 [2018-12-23 14:20:25,078 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:20:25,078 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 7 [2018-12-23 14:20:25,078 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:20:25,079 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2018-12-23 14:20:25,109 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:25,109 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-12-23 14:20:25,109 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-12-23 14:20:25,109 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=83, Invalid=157, Unknown=0, NotChecked=0, Total=240 [2018-12-23 14:20:25,109 INFO L87 Difference]: Start difference. First operand 133 states and 697 transitions. Second operand 11 states. [2018-12-23 14:20:37,249 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:37,249 INFO L93 Difference]: Finished difference Result 169 states and 746 transitions. [2018-12-23 14:20:37,250 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-23 14:20:37,250 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 7 [2018-12-23 14:20:37,250 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:20:37,250 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-12-23 14:20:37,250 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 72 transitions. [2018-12-23 14:20:37,250 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-12-23 14:20:37,251 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 72 transitions. [2018-12-23 14:20:37,251 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 72 transitions. [2018-12-23 14:20:37,380 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-23 14:20:37,385 INFO L225 Difference]: With dead ends: 169 [2018-12-23 14:20:37,385 INFO L226 Difference]: Without dead ends: 168 [2018-12-23 14:20:37,385 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 90 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=131, Invalid=249, Unknown=0, NotChecked=0, Total=380 [2018-12-23 14:20:37,385 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 168 states. [2018-12-23 14:20:47,222 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 168 to 132. [2018-12-23 14:20:47,223 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:20:47,223 INFO L82 GeneralOperation]: Start isEquivalent. First operand 168 states. Second operand 132 states. [2018-12-23 14:20:47,223 INFO L74 IsIncluded]: Start isIncluded. First operand 168 states. Second operand 132 states. [2018-12-23 14:20:47,223 INFO L87 Difference]: Start difference. First operand 168 states. Second operand 132 states. [2018-12-23 14:20:47,227 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:47,228 INFO L93 Difference]: Finished difference Result 168 states and 743 transitions. [2018-12-23 14:20:47,228 INFO L276 IsEmpty]: Start isEmpty. Operand 168 states and 743 transitions. [2018-12-23 14:20:47,228 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:47,228 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:47,228 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand 168 states. [2018-12-23 14:20:47,228 INFO L87 Difference]: Start difference. First operand 132 states. Second operand 168 states. [2018-12-23 14:20:47,232 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:47,232 INFO L93 Difference]: Finished difference Result 168 states and 743 transitions. [2018-12-23 14:20:47,232 INFO L276 IsEmpty]: Start isEmpty. Operand 168 states and 743 transitions. [2018-12-23 14:20:47,232 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:47,233 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:47,233 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:20:47,233 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:20:47,233 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 132 states. [2018-12-23 14:20:47,236 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 691 transitions. [2018-12-23 14:20:47,236 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 691 transitions. Word has length 7 [2018-12-23 14:20:47,236 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:20:47,236 INFO L480 AbstractCegarLoop]: Abstraction has 132 states and 691 transitions. [2018-12-23 14:20:47,237 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-12-23 14:20:47,237 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 691 transitions. [2018-12-23 14:20:47,237 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2018-12-23 14:20:47,237 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:20:47,237 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2018-12-23 14:20:47,237 INFO L423 AbstractCegarLoop]: === Iteration 69 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:20:47,238 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:47,238 INFO L82 PathProgramCache]: Analyzing trace with hash -2017620956, now seen corresponding path program 1 times [2018-12-23 14:20:47,238 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:20:47,238 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:47,238 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:20:47,239 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:47,239 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:20:47,241 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:47,503 INFO L273 TraceCheckUtils]: 0: Hoare triple {33911#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {33913#(and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:20:47,504 INFO L273 TraceCheckUtils]: 1: Hoare triple {33913#(and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {33914#(and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p4) 1) 0))} is VALID [2018-12-23 14:20:47,505 INFO L273 TraceCheckUtils]: 2: Hoare triple {33914#(and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p4) 1) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {33915#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} is VALID [2018-12-23 14:20:47,506 INFO L273 TraceCheckUtils]: 3: Hoare triple {33915#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} assume #memory_int[main_p1] >= 0; {33915#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} is VALID [2018-12-23 14:20:47,506 INFO L273 TraceCheckUtils]: 4: Hoare triple {33915#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} assume #memory_int[main_p2] <= 0; {33915#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} is VALID [2018-12-23 14:20:47,507 INFO L273 TraceCheckUtils]: 5: Hoare triple {33915#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} assume #memory_int[main_p3] >= 0; {33915#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} is VALID [2018-12-23 14:20:47,508 INFO L273 TraceCheckUtils]: 6: Hoare triple {33915#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} assume !(#memory_int[main_p4] <= 0); {33912#false} is VALID [2018-12-23 14:20:47,508 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-23 14:20:47,508 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:47,508 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:20:47,509 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2018-12-23 14:20:47,509 INFO L207 CegarAbsIntRunner]: [0], [18], [20], [24], [26], [28], [29] [2018-12-23 14:20:47,510 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:20:47,510 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:20:47,518 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:20:47,518 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:20:47,518 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:47,519 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:20:47,519 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:47,519 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 67 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 67 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:20:47,528 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:20:47,528 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:20:47,532 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:47,536 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:47,536 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:20:47,557 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:20:47,567 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:20:47,583 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 25 [2018-12-23 14:20:47,604 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 27 [2018-12-23 14:20:47,629 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:47,637 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 1 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 30 [2018-12-23 14:20:47,645 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:47,660 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:47,675 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:47,689 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:47,703 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:47,719 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-23 14:20:47,720 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:22, output treesize:29 [2018-12-23 14:20:47,726 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:47,726 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_412|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (store (store (store (store (store |v_#memory_int_412| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2018-12-23 14:20:47,726 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:20:47,783 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:47,784 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:47,785 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 15 [2018-12-23 14:20:47,789 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:47,797 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:47,798 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:24, output treesize:14 [2018-12-23 14:20:47,806 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:47,806 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_413|]. (let ((.cse0 (select |v_#memory_int_413| ULTIMATE.start_main_p4))) (and (= 0 .cse0) (= (select |v_#memory_int_413| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= |#memory_int| (store |v_#memory_int_413| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))))) [2018-12-23 14:20:47,806 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2018-12-23 14:20:47,847 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:47,849 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:47,850 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:47,851 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:47,851 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-23 14:20:47,855 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:47,869 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:47,869 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:26, output treesize:16 [2018-12-23 14:20:47,896 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:47,897 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_414|, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_414| ULTIMATE.start_main_p5))) (and (= (store |v_#memory_int_414| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= (+ (select |v_#memory_int_414| ULTIMATE.start_main_p4) 1) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) [2018-12-23 14:20:47,897 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2018-12-23 14:20:47,991 INFO L273 TraceCheckUtils]: 0: Hoare triple {33911#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {33919#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:20:47,992 INFO L273 TraceCheckUtils]: 1: Hoare triple {33919#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {33923#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))} is VALID [2018-12-23 14:20:47,993 INFO L273 TraceCheckUtils]: 2: Hoare triple {33923#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {33927#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))} is VALID [2018-12-23 14:20:47,994 INFO L273 TraceCheckUtils]: 3: Hoare triple {33927#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))} assume #memory_int[main_p1] >= 0; {33927#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))} is VALID [2018-12-23 14:20:47,995 INFO L273 TraceCheckUtils]: 4: Hoare triple {33927#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))} assume #memory_int[main_p2] <= 0; {33927#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))} is VALID [2018-12-23 14:20:47,996 INFO L273 TraceCheckUtils]: 5: Hoare triple {33927#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))} assume #memory_int[main_p3] >= 0; {33927#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))} is VALID [2018-12-23 14:20:47,996 INFO L273 TraceCheckUtils]: 6: Hoare triple {33927#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))} assume !(#memory_int[main_p4] <= 0); {33912#false} is VALID [2018-12-23 14:20:47,997 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-23 14:20:47,997 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:20:48,051 INFO L273 TraceCheckUtils]: 6: Hoare triple {33940#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume !(#memory_int[main_p4] <= 0); {33912#false} is VALID [2018-12-23 14:20:48,052 INFO L273 TraceCheckUtils]: 5: Hoare triple {33940#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p3] >= 0; {33940#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2018-12-23 14:20:48,052 INFO L273 TraceCheckUtils]: 4: Hoare triple {33940#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p2] <= 0; {33940#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2018-12-23 14:20:48,053 INFO L273 TraceCheckUtils]: 3: Hoare triple {33940#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p1] >= 0; {33940#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2018-12-23 14:20:48,054 INFO L273 TraceCheckUtils]: 2: Hoare triple {33953#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p4) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {33940#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2018-12-23 14:20:48,055 INFO L273 TraceCheckUtils]: 1: Hoare triple {33957#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p4) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {33953#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p4) 0)} is VALID [2018-12-23 14:20:48,057 INFO L273 TraceCheckUtils]: 0: Hoare triple {33911#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {33957#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p4) 0)} is VALID [2018-12-23 14:20:48,058 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-23 14:20:48,079 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:20:48,079 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:20:48,079 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:20:48,079 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 7 [2018-12-23 14:20:48,080 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:20:48,080 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:20:48,098 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:48,099 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:20:48,099 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:20:48,099 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=65, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:20:48,099 INFO L87 Difference]: Start difference. First operand 132 states and 691 transitions. Second operand 8 states. [2018-12-23 14:20:57,974 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:57,974 INFO L93 Difference]: Finished difference Result 159 states and 727 transitions. [2018-12-23 14:20:57,974 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-23 14:20:57,975 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 7 [2018-12-23 14:20:57,975 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:20:57,975 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:20:57,975 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2018-12-23 14:20:57,975 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:20:57,976 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2018-12-23 14:20:57,976 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 59 transitions. [2018-12-23 14:20:58,045 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:58,048 INFO L225 Difference]: With dead ends: 159 [2018-12-23 14:20:58,048 INFO L226 Difference]: Without dead ends: 158 [2018-12-23 14:20:58,048 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=53, Invalid=79, Unknown=0, NotChecked=0, Total=132 [2018-12-23 14:20:58,049 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 158 states. [2018-12-23 14:21:07,455 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 158 to 136. [2018-12-23 14:21:07,455 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:21:07,456 INFO L82 GeneralOperation]: Start isEquivalent. First operand 158 states. Second operand 136 states. [2018-12-23 14:21:07,456 INFO L74 IsIncluded]: Start isIncluded. First operand 158 states. Second operand 136 states. [2018-12-23 14:21:07,456 INFO L87 Difference]: Start difference. First operand 158 states. Second operand 136 states. [2018-12-23 14:21:07,460 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:07,461 INFO L93 Difference]: Finished difference Result 158 states and 724 transitions. [2018-12-23 14:21:07,461 INFO L276 IsEmpty]: Start isEmpty. Operand 158 states and 724 transitions. [2018-12-23 14:21:07,461 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:21:07,461 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:21:07,461 INFO L74 IsIncluded]: Start isIncluded. First operand 136 states. Second operand 158 states. [2018-12-23 14:21:07,462 INFO L87 Difference]: Start difference. First operand 136 states. Second operand 158 states. [2018-12-23 14:21:07,466 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:07,467 INFO L93 Difference]: Finished difference Result 158 states and 724 transitions. [2018-12-23 14:21:07,467 INFO L276 IsEmpty]: Start isEmpty. Operand 158 states and 724 transitions. [2018-12-23 14:21:07,467 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:21:07,467 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:21:07,467 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:21:07,467 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:21:07,467 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 136 states. [2018-12-23 14:21:07,471 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 136 states to 136 states and 706 transitions. [2018-12-23 14:21:07,471 INFO L78 Accepts]: Start accepts. Automaton has 136 states and 706 transitions. Word has length 7 [2018-12-23 14:21:07,471 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:21:07,471 INFO L480 AbstractCegarLoop]: Abstraction has 136 states and 706 transitions. [2018-12-23 14:21:07,471 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:21:07,471 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 706 transitions. [2018-12-23 14:21:07,472 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2018-12-23 14:21:07,472 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:21:07,472 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2018-12-23 14:21:07,472 INFO L423 AbstractCegarLoop]: === Iteration 70 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:21:07,472 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:21:07,472 INFO L82 PathProgramCache]: Analyzing trace with hash -2018050250, now seen corresponding path program 1 times [2018-12-23 14:21:07,472 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:21:07,473 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:21:07,473 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:21:07,473 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:21:07,473 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:21:07,475 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:07,886 INFO L273 TraceCheckUtils]: 0: Hoare triple {34801#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {34803#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:21:07,887 INFO L273 TraceCheckUtils]: 1: Hoare triple {34803#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {34804#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:21:07,888 INFO L273 TraceCheckUtils]: 2: Hoare triple {34804#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {34805#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:21:07,889 INFO L273 TraceCheckUtils]: 3: Hoare triple {34805#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {34806#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:21:07,889 INFO L273 TraceCheckUtils]: 4: Hoare triple {34806#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {34807#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:21:07,890 INFO L273 TraceCheckUtils]: 5: Hoare triple {34807#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {34808#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:21:07,891 INFO L273 TraceCheckUtils]: 6: Hoare triple {34808#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {34802#false} is VALID [2018-12-23 14:21:07,891 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:07,892 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:21:07,892 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:21:07,892 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2018-12-23 14:21:07,892 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [14], [18], [20], [23] [2018-12-23 14:21:07,893 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:21:07,893 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:21:07,907 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:21:07,908 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 5 fixpoints after 5 different actions. Largest state had 0 variables. [2018-12-23 14:21:07,908 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:21:07,908 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:21:07,908 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:21:07,908 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 68 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 68 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:21:07,919 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:21:07,919 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:21:07,923 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:07,930 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:07,930 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:21:07,969 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:21:07,982 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:07,982 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:21:08,000 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:08,001 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:08,002 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:21:08,026 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:08,027 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:08,029 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:08,029 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:21:08,061 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:08,062 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:08,063 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:08,064 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:08,065 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:21:08,076 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:08,107 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:08,127 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:08,144 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:08,159 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:08,183 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:08,184 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 1 variables, input treesize:31, output treesize:38 [2018-12-23 14:21:08,191 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:08,191 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_417|]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_417| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:21:08,191 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:21:08,293 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:08,294 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:08,295 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:08,297 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:08,298 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:08,299 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:08,300 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:08,302 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:08,303 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:08,304 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:08,305 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:08,306 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-23 14:21:08,316 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:08,366 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:08,366 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:48, output treesize:38 [2018-12-23 14:21:10,378 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:10,379 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_418|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_418| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_418| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_418| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_418| ULTIMATE.start_main_p3) 0) (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_418| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_418| ULTIMATE.start_main_p2) 0))) [2018-12-23 14:21:10,379 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:21:10,484 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,485 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,486 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,487 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,489 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,490 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,491 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,492 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,494 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,495 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,496 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,497 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,498 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,499 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 80 [2018-12-23 14:21:10,509 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:10,578 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-23 14:21:10,579 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:50, output treesize:40 [2018-12-23 14:21:10,595 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:10,595 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_419|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_419| ULTIMATE.start_main_p5))) (and (= (store |v_#memory_int_419| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_419| ULTIMATE.start_main_p2) 0) (= 0 .cse0) (= (+ (select |v_#memory_int_419| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_419| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_419| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:21:10,595 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:21:10,681 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,683 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,684 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,685 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,686 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,688 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,689 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,690 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,691 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,693 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,694 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,695 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,695 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:21:10,696 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,697 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 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-23 14:21:10,706 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:10,764 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-23 14:21:10,765 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:38 [2018-12-23 14:21:10,800 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:10,801 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_420|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_420| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_420| ULTIMATE.start_main_p1) 0) (= (store |v_#memory_int_420| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (= (select |v_#memory_int_420| ULTIMATE.start_main_p3) 0) (= 0 (+ (select |v_#memory_int_420| ULTIMATE.start_main_p4) 1)) (= (select |v_#memory_int_420| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:21:10,801 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:21:10,889 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,890 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,891 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,893 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,894 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,896 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,897 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,898 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,900 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,901 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,902 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,904 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,905 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,906 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,907 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:21:10,907 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 100 [2018-12-23 14:21:10,916 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:10,978 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:10,979 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:52, output treesize:42 [2018-12-23 14:21:13,014 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:13,014 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_421|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_421| ULTIMATE.start_main_p3))) (and (= (+ (select |v_#memory_int_421| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_421| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_421| ULTIMATE.start_main_p5) 1) (= 0 (+ (select |v_#memory_int_421| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_421| ULTIMATE.start_main_p3 (+ .cse0 1))))) [2018-12-23 14:21:13,015 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-23 14:21:13,162 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:13,163 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:13,165 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:13,166 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:13,168 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:13,169 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:13,170 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:13,172 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:13,173 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:13,175 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:13,176 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:13,177 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:13,178 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:13,180 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:13,180 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:21:13,181 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 96 [2018-12-23 14:21:13,190 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:13,251 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:13,251 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:52, output treesize:42 [2018-12-23 14:21:13,274 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:13,274 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_422|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_422| ULTIMATE.start_main_p1))) (and (= 0 (+ (select |v_#memory_int_422| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_422| ULTIMATE.start_main_p5)) (= 1 (select |v_#memory_int_422| ULTIMATE.start_main_p3)) (= |#memory_int| (store |v_#memory_int_422| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 (+ (select |v_#memory_int_422| ULTIMATE.start_main_p2) 1)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:21:13,274 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-23 14:21:13,319 INFO L273 TraceCheckUtils]: 0: Hoare triple {34801#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {34812#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:21:13,321 INFO L273 TraceCheckUtils]: 1: Hoare triple {34812#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {34816#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:21:13,324 INFO L273 TraceCheckUtils]: 2: Hoare triple {34816#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {34820#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:21:13,326 INFO L273 TraceCheckUtils]: 3: Hoare triple {34820#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {34824#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-23 14:21:13,332 INFO L273 TraceCheckUtils]: 4: Hoare triple {34824#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {34828#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2018-12-23 14:21:13,341 INFO L273 TraceCheckUtils]: 5: Hoare triple {34828#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {34832#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2018-12-23 14:21:13,342 INFO L273 TraceCheckUtils]: 6: Hoare triple {34832#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {34802#false} is VALID [2018-12-23 14:21:13,343 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:13,343 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:21:13,498 INFO L273 TraceCheckUtils]: 6: Hoare triple {34808#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {34802#false} is VALID [2018-12-23 14:21:13,499 INFO L273 TraceCheckUtils]: 5: Hoare triple {34839#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {34808#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:21:13,500 INFO L273 TraceCheckUtils]: 4: Hoare triple {34843#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {34839#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:21:13,502 INFO L273 TraceCheckUtils]: 3: Hoare triple {34847#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {34843#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:21:13,504 INFO L273 TraceCheckUtils]: 2: Hoare triple {34851#(<= 0 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {34847#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:21:13,507 INFO L273 TraceCheckUtils]: 1: Hoare triple {34855#(<= 0 (+ (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {34851#(<= 0 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:21:13,508 INFO L273 TraceCheckUtils]: 0: Hoare triple {34801#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {34855#(<= 0 (+ (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:21:13,509 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 6 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:13,528 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:21:13,528 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 17 [2018-12-23 14:21:13,528 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:21:13,528 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 7 [2018-12-23 14:21:13,529 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:21:13,529 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2018-12-23 14:21:13,559 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:21:13,560 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2018-12-23 14:21:13,560 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2018-12-23 14:21:13,560 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=130, Invalid=212, Unknown=0, NotChecked=0, Total=342 [2018-12-23 14:21:13,560 INFO L87 Difference]: Start difference. First operand 136 states and 706 transitions. Second operand 14 states. [2018-12-23 14:21:27,094 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:27,095 INFO L93 Difference]: Finished difference Result 199 states and 872 transitions. [2018-12-23 14:21:27,095 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-12-23 14:21:27,095 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 7 [2018-12-23 14:21:27,095 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:21:27,095 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-12-23 14:21:27,095 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 92 transitions. [2018-12-23 14:21:27,096 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-12-23 14:21:27,096 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 92 transitions. [2018-12-23 14:21:27,096 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 92 transitions. [2018-12-23 14:21:27,385 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-23 14:21:27,391 INFO L225 Difference]: With dead ends: 199 [2018-12-23 14:21:27,391 INFO L226 Difference]: Without dead ends: 198 [2018-12-23 14:21:27,391 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 133 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=186, Invalid=320, Unknown=0, NotChecked=0, Total=506 [2018-12-23 14:21:27,391 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 198 states. [2018-12-23 14:21:36,074 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 198 to 134. [2018-12-23 14:21:36,075 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:21:36,075 INFO L82 GeneralOperation]: Start isEquivalent. First operand 198 states. Second operand 134 states. [2018-12-23 14:21:36,075 INFO L74 IsIncluded]: Start isIncluded. First operand 198 states. Second operand 134 states. [2018-12-23 14:21:36,075 INFO L87 Difference]: Start difference. First operand 198 states. Second operand 134 states. [2018-12-23 14:21:36,081 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:36,081 INFO L93 Difference]: Finished difference Result 198 states and 868 transitions. [2018-12-23 14:21:36,081 INFO L276 IsEmpty]: Start isEmpty. Operand 198 states and 868 transitions. [2018-12-23 14:21:36,082 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:21:36,082 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:21:36,082 INFO L74 IsIncluded]: Start isIncluded. First operand 134 states. Second operand 198 states. [2018-12-23 14:21:36,082 INFO L87 Difference]: Start difference. First operand 134 states. Second operand 198 states. [2018-12-23 14:21:36,087 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:36,087 INFO L93 Difference]: Finished difference Result 198 states and 868 transitions. [2018-12-23 14:21:36,087 INFO L276 IsEmpty]: Start isEmpty. Operand 198 states and 868 transitions. [2018-12-23 14:21:36,087 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:21:36,087 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:21:36,087 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:21:36,087 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:21:36,087 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 134 states. [2018-12-23 14:21:36,090 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 134 states to 134 states and 693 transitions. [2018-12-23 14:21:36,090 INFO L78 Accepts]: Start accepts. Automaton has 134 states and 693 transitions. Word has length 7 [2018-12-23 14:21:36,091 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:21:36,091 INFO L480 AbstractCegarLoop]: Abstraction has 134 states and 693 transitions. [2018-12-23 14:21:36,091 INFO L481 AbstractCegarLoop]: Interpolant automaton has 14 states. [2018-12-23 14:21:36,091 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 693 transitions. [2018-12-23 14:21:36,091 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2018-12-23 14:21:36,091 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:21:36,091 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2018-12-23 14:21:36,091 INFO L423 AbstractCegarLoop]: === Iteration 71 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:21:36,091 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:21:36,092 INFO L82 PathProgramCache]: Analyzing trace with hash -2018049690, now seen corresponding path program 1 times [2018-12-23 14:21:36,092 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:21:36,092 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:21:36,092 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:21:36,092 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:21:36,092 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:21:36,094 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:36,356 INFO L273 TraceCheckUtils]: 0: Hoare triple {35842#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {35844#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:21:36,357 INFO L273 TraceCheckUtils]: 1: Hoare triple {35844#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {35845#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:21:36,358 INFO L273 TraceCheckUtils]: 2: Hoare triple {35845#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {35846#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-23 14:21:36,359 INFO L273 TraceCheckUtils]: 3: Hoare triple {35846#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {35847#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:21:36,360 INFO L273 TraceCheckUtils]: 4: Hoare triple {35847#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {35848#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-23 14:21:36,361 INFO L273 TraceCheckUtils]: 5: Hoare triple {35848#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume #memory_int[main_p1] >= 0; {35848#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-23 14:21:36,362 INFO L273 TraceCheckUtils]: 6: Hoare triple {35848#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {35843#false} is VALID [2018-12-23 14:21:36,363 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:36,363 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:21:36,363 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:21:36,363 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2018-12-23 14:21:36,363 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [18], [20], [24], [25] [2018-12-23 14:21:36,365 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:21:36,365 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:21:36,375 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:21:36,376 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 4 fixpoints after 4 different actions. Largest state had 0 variables. [2018-12-23 14:21:36,376 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:21:36,376 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:21:36,376 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:21:36,376 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 69 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 69 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:21:36,385 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:21:36,385 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:21:36,390 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:36,393 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:36,393 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:21:36,419 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:21:36,429 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:21:36,446 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:36,447 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-23 14:21:36,469 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:36,470 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:36,471 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-23 14:21:36,494 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:36,499 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:36,501 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:36,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, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:21:36,519 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:36,540 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:36,555 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:36,569 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:36,584 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:36,604 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:36,604 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:28, output treesize:35 [2018-12-23 14:21:36,611 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:36,611 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_428|, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_428| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:21:36,612 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:21:36,711 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:36,712 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:36,714 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:36,715 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:36,717 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:36,718 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:36,719 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:36,720 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 45 [2018-12-23 14:21:36,729 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:36,765 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:36,765 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:40, output treesize:30 [2018-12-23 14:21:38,781 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:38,781 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_429|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_429| ULTIMATE.start_main_p4))) (and (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_429| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_429| ULTIMATE.start_main_p5) 0) (= 0 (select |v_#memory_int_429| ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_429| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:21:38,781 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:21:38,873 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:38,875 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:38,876 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:38,877 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:38,878 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:38,880 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:38,881 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:38,882 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:38,883 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:38,884 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 59 [2018-12-23 14:21:38,892 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:38,926 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-23 14:21:38,926 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:42, output treesize:32 [2018-12-23 14:21:38,938 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:38,938 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_430|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_430| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_430| ULTIMATE.start_main_p4) 1) 0) (= (select |v_#memory_int_430| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_430| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_430| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:21:38,938 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:21:39,020 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,022 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,023 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,024 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,026 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,027 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,028 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,029 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,029 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:21:39,031 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,031 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 72 [2018-12-23 14:21:39,040 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:39,080 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-23 14:21:39,081 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:42, output treesize:30 [2018-12-23 14:21:39,088 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:39,089 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_431|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_431| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_431| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= .cse0 0) (= (select |v_#memory_int_431| ULTIMATE.start_main_p3) 0) (= (+ (select |v_#memory_int_431| ULTIMATE.start_main_p4) 1) 0) (= (select |v_#memory_int_431| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:21:39,089 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:21:39,169 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,171 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,172 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,173 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,175 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,176 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,177 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,178 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,179 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,180 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,181 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:21:39,182 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 75 [2018-12-23 14:21:39,190 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:39,232 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-23 14:21:39,232 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:44, output treesize:34 [2018-12-23 14:21:39,914 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:39,914 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_432|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_432| ULTIMATE.start_main_p3))) (and (= (+ (select |v_#memory_int_432| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_432| ULTIMATE.start_main_p2) 1) 0) (= (select |v_#memory_int_432| ULTIMATE.start_main_p5) 1) (= 0 .cse0) (= (store |v_#memory_int_432| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:21:39,915 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-23 14:21:39,994 INFO L273 TraceCheckUtils]: 0: Hoare triple {35842#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {35852#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:21:39,996 INFO L273 TraceCheckUtils]: 1: Hoare triple {35852#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {35856#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:21:39,998 INFO L273 TraceCheckUtils]: 2: Hoare triple {35856#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {35860#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:21:40,001 INFO L273 TraceCheckUtils]: 3: Hoare triple {35860#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {35864#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:21:40,003 INFO L273 TraceCheckUtils]: 4: Hoare triple {35864#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {35868#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:21:40,004 INFO L273 TraceCheckUtils]: 5: Hoare triple {35868#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {35868#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:21:40,005 INFO L273 TraceCheckUtils]: 6: Hoare triple {35868#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {35843#false} is VALID [2018-12-23 14:21:40,006 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:40,006 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:21:40,131 INFO L273 TraceCheckUtils]: 6: Hoare triple {35875#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {35843#false} is VALID [2018-12-23 14:21:40,131 INFO L273 TraceCheckUtils]: 5: Hoare triple {35875#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {35875#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:21:40,132 INFO L273 TraceCheckUtils]: 4: Hoare triple {35882#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {35875#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:21:40,134 INFO L273 TraceCheckUtils]: 3: Hoare triple {35886#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {35882#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:21:40,136 INFO L273 TraceCheckUtils]: 2: Hoare triple {35890#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {35886#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:21:40,139 INFO L273 TraceCheckUtils]: 1: Hoare triple {35894#(<= (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {35890#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:21:40,142 INFO L273 TraceCheckUtils]: 0: Hoare triple {35842#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {35894#(<= (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:21:40,142 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 5 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:40,161 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:21:40,162 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2018-12-23 14:21:40,162 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:21:40,162 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2018-12-23 14:21:40,162 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:21:40,162 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-12-23 14:21:40,190 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:21:40,190 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-12-23 14:21:40,190 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-12-23 14:21:40,190 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=101, Invalid=171, Unknown=0, NotChecked=0, Total=272 [2018-12-23 14:21:40,190 INFO L87 Difference]: Start difference. First operand 134 states and 693 transitions. Second operand 12 states. [2018-12-23 14:21:50,695 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:50,695 INFO L93 Difference]: Finished difference Result 181 states and 747 transitions. [2018-12-23 14:21:50,696 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-23 14:21:50,696 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2018-12-23 14:21:50,696 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:21:50,696 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-23 14:21:50,696 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 83 transitions. [2018-12-23 14:21:50,696 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-23 14:21:50,697 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 83 transitions. [2018-12-23 14:21:50,697 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 83 transitions. [2018-12-23 14:21:50,823 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:21:50,826 INFO L225 Difference]: With dead ends: 181 [2018-12-23 14:21:50,826 INFO L226 Difference]: Without dead ends: 180 [2018-12-23 14:21:50,827 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 100 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=133, Invalid=247, Unknown=0, NotChecked=0, Total=380 [2018-12-23 14:21:50,827 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 180 states. [2018-12-23 14:21:59,859 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 180 to 134. [2018-12-23 14:21:59,860 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:21:59,860 INFO L82 GeneralOperation]: Start isEquivalent. First operand 180 states. Second operand 134 states. [2018-12-23 14:21:59,860 INFO L74 IsIncluded]: Start isIncluded. First operand 180 states. Second operand 134 states. [2018-12-23 14:21:59,860 INFO L87 Difference]: Start difference. First operand 180 states. Second operand 134 states. [2018-12-23 14:21:59,864 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:59,864 INFO L93 Difference]: Finished difference Result 180 states and 745 transitions. [2018-12-23 14:21:59,864 INFO L276 IsEmpty]: Start isEmpty. Operand 180 states and 745 transitions. [2018-12-23 14:21:59,864 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:21:59,865 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:21:59,865 INFO L74 IsIncluded]: Start isIncluded. First operand 134 states. Second operand 180 states. [2018-12-23 14:21:59,865 INFO L87 Difference]: Start difference. First operand 134 states. Second operand 180 states. [2018-12-23 14:21:59,869 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:59,869 INFO L93 Difference]: Finished difference Result 180 states and 745 transitions. [2018-12-23 14:21:59,869 INFO L276 IsEmpty]: Start isEmpty. Operand 180 states and 745 transitions. [2018-12-23 14:21:59,869 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:21:59,869 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:21:59,869 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:21:59,869 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:21:59,870 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 134 states. [2018-12-23 14:21:59,873 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 134 states to 134 states and 693 transitions. [2018-12-23 14:21:59,873 INFO L78 Accepts]: Start accepts. Automaton has 134 states and 693 transitions. Word has length 7 [2018-12-23 14:21:59,873 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:21:59,873 INFO L480 AbstractCegarLoop]: Abstraction has 134 states and 693 transitions. [2018-12-23 14:21:59,873 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-12-23 14:21:59,873 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 693 transitions. [2018-12-23 14:21:59,873 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2018-12-23 14:21:59,873 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:21:59,873 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2018-12-23 14:21:59,874 INFO L423 AbstractCegarLoop]: === Iteration 72 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:21:59,874 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:21:59,874 INFO L82 PathProgramCache]: Analyzing trace with hash -2017938650, now seen corresponding path program 2 times [2018-12-23 14:21:59,874 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:21:59,874 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:21:59,875 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:21:59,875 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:21:59,875 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:21:59,876 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:22:00,309 INFO L273 TraceCheckUtils]: 0: Hoare triple {36804#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {36806#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:22:00,310 INFO L273 TraceCheckUtils]: 1: Hoare triple {36806#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {36807#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:22:00,312 INFO L273 TraceCheckUtils]: 2: Hoare triple {36807#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {36808#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:22:00,313 INFO L273 TraceCheckUtils]: 3: Hoare triple {36808#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {36809#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:22:00,314 INFO L273 TraceCheckUtils]: 4: Hoare triple {36809#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {36810#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:22:00,315 INFO L273 TraceCheckUtils]: 5: Hoare triple {36810#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {36811#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:22:00,315 INFO L273 TraceCheckUtils]: 6: Hoare triple {36811#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {36805#false} is VALID [2018-12-23 14:22:00,316 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:22:00,316 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:22:00,316 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:22:00,316 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-23 14:22:00,317 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2018-12-23 14:22:00,317 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:22:00,317 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 70 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 70 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:22:00,327 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-23 14:22:00,327 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-23 14:22:00,334 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2018-12-23 14:22:00,334 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-23 14:22:00,343 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:22:00,344 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:22:00,379 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:22:00,392 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:00,393 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:22:00,425 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:00,427 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:00,428 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:22:00,448 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:00,449 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:00,451 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:00,451 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:22:00,479 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:00,481 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:00,482 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:00,484 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:00,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 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:22:00,492 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:00,525 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:00,544 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:00,559 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:00,572 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:00,594 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:00,594 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 1 variables, input treesize:31, output treesize:38 [2018-12-23 14:22:00,601 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:00,602 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_437|]. (and (= |#memory_int| (store (store (store (store (store |v_#memory_int_437| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:22:00,602 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:22:00,758 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:00,759 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:00,760 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:00,762 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:00,763 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:00,765 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:00,766 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:00,767 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:00,767 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:00,768 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:00,770 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:00,770 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 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-23 14:22:00,778 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:00,826 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:22:00,827 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:48, output treesize:38 [2018-12-23 14:22:02,522 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:02,522 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_438|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_438| ULTIMATE.start_main_p4))) (and (= 0 (select |v_#memory_int_438| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_438| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_438| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_438| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_438| ULTIMATE.start_main_p1)) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:22:02,522 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:22:02,615 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:02,616 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:02,618 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:02,619 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:02,620 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:02,622 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:02,623 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:02,624 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:02,626 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:02,627 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:02,628 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:02,629 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:02,630 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:02,631 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-23 14:22:02,643 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:02,693 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:22:02,694 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:50, output treesize:40 [2018-12-23 14:22:02,706 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:02,706 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_439|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_439| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_439| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_439| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_439| ULTIMATE.start_main_p3)) (= 0 .cse0) (= (select |v_#memory_int_439| ULTIMATE.start_main_p2) 0) (= (+ (select |v_#memory_int_439| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:22:02,706 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:22:02,801 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:02,802 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:02,804 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:02,805 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:02,806 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:02,808 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:02,809 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:02,811 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:02,812 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:02,813 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:02,815 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:02,816 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:02,817 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:02,818 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:02,819 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:22:02,820 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 98 [2018-12-23 14:22:02,827 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:02,886 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:22:02,886 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2018-12-23 14:22:02,900 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:02,901 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_440|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_440| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |v_#memory_int_440| ULTIMATE.start_main_p4) 1)) (= (select |v_#memory_int_440| ULTIMATE.start_main_p5) 1) (= |#memory_int| (store |v_#memory_int_440| ULTIMATE.start_main_p3 (+ .cse0 1))) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_440| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_440| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:22:02,901 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:22:02,995 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:02,997 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:02,998 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:02,999 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:03,001 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:03,002 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:03,003 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:03,004 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:03,006 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:03,007 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:03,008 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:03,009 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:03,010 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:03,011 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:03,012 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:22:03,013 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 94 [2018-12-23 14:22:03,020 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:03,076 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-23 14:22:03,076 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2018-12-23 14:22:03,085 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:03,085 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_441|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_441| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_441| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |v_#memory_int_441| ULTIMATE.start_main_p2)) (= .cse0 0) (= (select |v_#memory_int_441| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_441| ULTIMATE.start_main_p5) 1) (= (store |v_#memory_int_441| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|))) [2018-12-23 14:22:03,085 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:22:03,179 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:03,181 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:03,182 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:03,183 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:03,185 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:03,186 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:03,187 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:03,188 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:03,190 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:03,191 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:03,192 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:03,193 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:03,194 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:22:03,195 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:03,196 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 93 [2018-12-23 14:22:03,203 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:03,261 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-23 14:22:03,261 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2018-12-23 14:22:03,283 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:03,284 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_442|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_442| ULTIMATE.start_main_p2))) (and (= 1 (select |v_#memory_int_442| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_442| ULTIMATE.start_main_p1) 1) (= (store |v_#memory_int_442| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (= 1 (select |v_#memory_int_442| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |v_#memory_int_442| ULTIMATE.start_main_p4) 1) 0))) [2018-12-23 14:22:03,284 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:22:03,362 INFO L273 TraceCheckUtils]: 0: Hoare triple {36804#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {36815#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:22:03,364 INFO L273 TraceCheckUtils]: 1: Hoare triple {36815#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {36819#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:22:03,367 INFO L273 TraceCheckUtils]: 2: Hoare triple {36819#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {36823#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:22:03,370 INFO L273 TraceCheckUtils]: 3: Hoare triple {36823#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {36827#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:22:03,373 INFO L273 TraceCheckUtils]: 4: Hoare triple {36827#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {36831#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:22:03,381 INFO L273 TraceCheckUtils]: 5: Hoare triple {36831#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {36835#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2018-12-23 14:22:03,381 INFO L273 TraceCheckUtils]: 6: Hoare triple {36835#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {36805#false} is VALID [2018-12-23 14:22:03,382 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:22:03,382 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:22:03,562 INFO L273 TraceCheckUtils]: 6: Hoare triple {36839#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {36805#false} is VALID [2018-12-23 14:22:03,564 INFO L273 TraceCheckUtils]: 5: Hoare triple {36843#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {36839#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:22:03,565 INFO L273 TraceCheckUtils]: 4: Hoare triple {36847#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {36843#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:22:03,567 INFO L273 TraceCheckUtils]: 3: Hoare triple {36851#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {36847#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:22:03,569 INFO L273 TraceCheckUtils]: 2: Hoare triple {36855#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {36851#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:22:03,573 INFO L273 TraceCheckUtils]: 1: Hoare triple {36859#(<= 0 (select (store (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {36855#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:22:03,576 INFO L273 TraceCheckUtils]: 0: Hoare triple {36804#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {36859#(<= 0 (select (store (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:22:03,577 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 10 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:22:03,596 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:22:03,596 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 18 [2018-12-23 14:22:03,596 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:22:03,596 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 7 [2018-12-23 14:22:03,596 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:22:03,596 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2018-12-23 14:22:03,626 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:22:03,627 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2018-12-23 14:22:03,627 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2018-12-23 14:22:03,627 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=141, Invalid=239, Unknown=0, NotChecked=0, Total=380 [2018-12-23 14:22:03,627 INFO L87 Difference]: Start difference. First operand 134 states and 693 transitions. Second operand 14 states. [2018-12-23 14:22:16,192 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:22:16,192 INFO L93 Difference]: Finished difference Result 200 states and 825 transitions. [2018-12-23 14:22:16,192 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-12-23 14:22:16,193 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 7 [2018-12-23 14:22:16,193 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:22:16,193 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-12-23 14:22:16,193 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 98 transitions. [2018-12-23 14:22:16,193 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2018-12-23 14:22:16,194 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 98 transitions. [2018-12-23 14:22:16,194 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 98 transitions. [2018-12-23 14:22:16,435 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:22:16,438 INFO L225 Difference]: With dead ends: 200 [2018-12-23 14:22:16,438 INFO L226 Difference]: Without dead ends: 199 [2018-12-23 14:22:16,439 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 150 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=191, Invalid=361, Unknown=0, NotChecked=0, Total=552 [2018-12-23 14:22:16,439 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 199 states. [2018-12-23 14:22:24,947 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 199 to 131. [2018-12-23 14:22:24,948 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:22:24,948 INFO L82 GeneralOperation]: Start isEquivalent. First operand 199 states. Second operand 131 states. [2018-12-23 14:22:24,948 INFO L74 IsIncluded]: Start isIncluded. First operand 199 states. Second operand 131 states. [2018-12-23 14:22:24,948 INFO L87 Difference]: Start difference. First operand 199 states. Second operand 131 states. [2018-12-23 14:22:24,953 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:22:24,954 INFO L93 Difference]: Finished difference Result 199 states and 822 transitions. [2018-12-23 14:22:24,954 INFO L276 IsEmpty]: Start isEmpty. Operand 199 states and 822 transitions. [2018-12-23 14:22:24,954 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:22:24,954 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:22:24,954 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand 199 states. [2018-12-23 14:22:24,954 INFO L87 Difference]: Start difference. First operand 131 states. Second operand 199 states. [2018-12-23 14:22:24,959 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:22:24,959 INFO L93 Difference]: Finished difference Result 199 states and 822 transitions. [2018-12-23 14:22:24,959 INFO L276 IsEmpty]: Start isEmpty. Operand 199 states and 822 transitions. [2018-12-23 14:22:24,959 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:22:24,959 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:22:24,959 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:22:24,959 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:22:24,960 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 131 states. [2018-12-23 14:22:24,962 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 674 transitions. [2018-12-23 14:22:24,963 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 674 transitions. Word has length 7 [2018-12-23 14:22:24,963 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:22:24,963 INFO L480 AbstractCegarLoop]: Abstraction has 131 states and 674 transitions. [2018-12-23 14:22:24,963 INFO L481 AbstractCegarLoop]: Interpolant automaton has 14 states. [2018-12-23 14:22:24,963 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 674 transitions. [2018-12-23 14:22:24,963 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2018-12-23 14:22:24,963 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:22:24,963 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2018-12-23 14:22:24,964 INFO L423 AbstractCegarLoop]: === Iteration 73 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:22:24,964 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:22:24,964 INFO L82 PathProgramCache]: Analyzing trace with hash -2030969310, now seen corresponding path program 1 times [2018-12-23 14:22:24,964 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:22:24,965 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:22:24,965 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-23 14:22:24,965 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:22:24,965 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:22:24,967 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:22:25,242 INFO L273 TraceCheckUtils]: 0: Hoare triple {37834#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {37836#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:22:25,243 INFO L273 TraceCheckUtils]: 1: Hoare triple {37836#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {37837#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:22:25,244 INFO L273 TraceCheckUtils]: 2: Hoare triple {37837#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {37837#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:22:25,244 INFO L273 TraceCheckUtils]: 3: Hoare triple {37837#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {37838#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:22:25,245 INFO L273 TraceCheckUtils]: 4: Hoare triple {37838#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p1] >= 0; {37838#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:22:25,245 INFO L273 TraceCheckUtils]: 5: Hoare triple {37838#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p2] <= 0; {37839#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-23 14:22:25,245 INFO L273 TraceCheckUtils]: 6: Hoare triple {37839#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {37835#false} is VALID [2018-12-23 14:22:25,246 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-23 14:22:25,246 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:22:25,246 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:22:25,246 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2018-12-23 14:22:25,246 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [18], [24], [26], [27] [2018-12-23 14:22:25,248 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:22:25,248 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:22:25,263 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:22:25,263 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-23 14:22:25,264 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:22:25,264 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:22:25,264 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:22:25,264 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 71 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 71 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:22:25,275 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:22:25,276 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:22:25,281 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:22:25,285 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:22:25,286 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:22:25,322 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:22:25,335 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:25,336 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:22:25,352 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:25,353 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:25,354 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:22:25,377 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:25,379 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:25,380 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:25,381 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:22:25,412 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:25,414 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:25,415 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:25,417 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:25,418 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:22:25,426 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:25,461 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:25,480 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:25,495 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:25,510 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:25,532 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:22:25,532 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2018-12-23 14:22:25,540 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:25,540 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_448|, ULTIMATE.start_main_p5]. (and (= (store (store (store (store (store |v_#memory_int_448| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:22:25,541 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:22:25,637 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:25,639 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:25,640 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:25,641 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:25,642 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:25,644 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:25,645 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:25,646 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:25,647 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:25,649 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:25,650 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:25,651 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-23 14:22:25,660 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:25,707 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-23 14:22:25,707 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-23 14:22:25,773 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:25,774 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_449|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_449| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_449| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_449| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_449| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_449| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_449| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:22:25,774 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:22:25,876 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:25,877 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:25,879 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:25,880 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:25,881 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:25,883 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:25,884 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:25,886 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:25,887 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:25,889 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:25,890 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:25,891 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:25,892 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:25,893 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-23 14:22:25,917 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:25,974 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-23 14:22:25,974 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2018-12-23 14:22:26,117 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:26,117 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_450|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_450| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_450| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_450| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 0 (select |v_#memory_int_450| ULTIMATE.start_main_p3)) (= |#memory_int| (store |v_#memory_int_450| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (+ (select |v_#memory_int_450| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:22:26,117 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:22:26,216 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:26,218 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:26,219 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:26,220 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:26,221 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:26,223 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:26,224 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:26,225 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:26,226 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:26,228 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:26,229 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:26,230 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:26,230 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:22:26,232 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:26,232 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-23 14:22:26,241 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:26,310 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-23 14:22:26,310 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2018-12-23 14:22:27,995 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:27,995 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_451|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_451| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 1 (select |v_#memory_int_451| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_451| ULTIMATE.start_main_p5)) (= (store |v_#memory_int_451| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_451| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (+ (select |v_#memory_int_451| ULTIMATE.start_main_p4) 1)))) [2018-12-23 14:22:27,995 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:22:28,172 INFO L273 TraceCheckUtils]: 0: Hoare triple {37834#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {37843#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:22:28,173 INFO L273 TraceCheckUtils]: 1: Hoare triple {37843#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {37847#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:22:28,176 INFO L273 TraceCheckUtils]: 2: Hoare triple {37847#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {37851#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:22:28,178 INFO L273 TraceCheckUtils]: 3: Hoare triple {37851#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {37855#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-23 14:22:28,179 INFO L273 TraceCheckUtils]: 4: Hoare triple {37855#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {37855#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-23 14:22:28,179 INFO L273 TraceCheckUtils]: 5: Hoare triple {37855#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {37855#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-23 14:22:28,180 INFO L273 TraceCheckUtils]: 6: Hoare triple {37855#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {37835#false} is VALID [2018-12-23 14:22:28,181 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-23 14:22:28,181 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:22:28,281 INFO L273 TraceCheckUtils]: 6: Hoare triple {37865#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {37835#false} is VALID [2018-12-23 14:22:28,282 INFO L273 TraceCheckUtils]: 5: Hoare triple {37865#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {37865#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:22:28,282 INFO L273 TraceCheckUtils]: 4: Hoare triple {37865#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {37865#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:22:28,284 INFO L273 TraceCheckUtils]: 3: Hoare triple {37875#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {37865#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:22:28,285 INFO L273 TraceCheckUtils]: 2: Hoare triple {37879#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {37875#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:22:28,288 INFO L273 TraceCheckUtils]: 1: Hoare triple {37883#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {37879#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:22:28,289 INFO L273 TraceCheckUtils]: 0: Hoare triple {37834#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {37883#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:22:28,290 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-23 14:22:28,308 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:22:28,308 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-23 14:22:28,309 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:22:28,309 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 7 [2018-12-23 14:22:28,309 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:22:28,309 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-23 14:22:28,336 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:22:28,336 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-23 14:22:28,337 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-23 14:22:28,337 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=116, Unknown=0, NotChecked=0, Total=182 [2018-12-23 14:22:28,337 INFO L87 Difference]: Start difference. First operand 131 states and 674 transitions. Second operand 10 states. [2018-12-23 14:22:39,066 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:22:39,066 INFO L93 Difference]: Finished difference Result 160 states and 731 transitions. [2018-12-23 14:22:39,067 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-23 14:22:39,067 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 7 [2018-12-23 14:22:39,067 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:22:39,067 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:22:39,067 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2018-12-23 14:22:39,067 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:22:39,067 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2018-12-23 14:22:39,068 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 59 transitions. [2018-12-23 14:22:39,177 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:22:39,180 INFO L225 Difference]: With dead ends: 160 [2018-12-23 14:22:39,180 INFO L226 Difference]: Without dead ends: 159 [2018-12-23 14:22:39,180 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 4 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=99, Invalid=173, Unknown=0, NotChecked=0, Total=272 [2018-12-23 14:22:39,181 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 159 states. [2018-12-23 14:22:48,383 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 159 to 137. [2018-12-23 14:22:48,384 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:22:48,384 INFO L82 GeneralOperation]: Start isEquivalent. First operand 159 states. Second operand 137 states. [2018-12-23 14:22:48,384 INFO L74 IsIncluded]: Start isIncluded. First operand 159 states. Second operand 137 states. [2018-12-23 14:22:48,384 INFO L87 Difference]: Start difference. First operand 159 states. Second operand 137 states. [2018-12-23 14:22:48,389 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:22:48,389 INFO L93 Difference]: Finished difference Result 159 states and 729 transitions. [2018-12-23 14:22:48,389 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 729 transitions. [2018-12-23 14:22:48,389 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:22:48,389 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:22:48,390 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand 159 states. [2018-12-23 14:22:48,390 INFO L87 Difference]: Start difference. First operand 137 states. Second operand 159 states. [2018-12-23 14:22:48,393 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:22:48,393 INFO L93 Difference]: Finished difference Result 159 states and 729 transitions. [2018-12-23 14:22:48,393 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 729 transitions. [2018-12-23 14:22:48,394 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:22:48,394 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:22:48,394 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:22:48,394 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:22:48,394 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 137 states. [2018-12-23 14:22:48,397 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 137 states to 137 states and 710 transitions. [2018-12-23 14:22:48,397 INFO L78 Accepts]: Start accepts. Automaton has 137 states and 710 transitions. Word has length 7 [2018-12-23 14:22:48,397 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:22:48,397 INFO L480 AbstractCegarLoop]: Abstraction has 137 states and 710 transitions. [2018-12-23 14:22:48,397 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-23 14:22:48,397 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 710 transitions. [2018-12-23 14:22:48,398 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2018-12-23 14:22:48,398 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:22:48,398 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2018-12-23 14:22:48,398 INFO L423 AbstractCegarLoop]: === Iteration 74 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:22:48,398 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:22:48,399 INFO L82 PathProgramCache]: Analyzing trace with hash -2030863664, now seen corresponding path program 1 times [2018-12-23 14:22:48,399 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:22:48,399 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:22:48,399 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:22:48,399 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:22:48,399 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:22:48,402 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:22:48,767 INFO L273 TraceCheckUtils]: 0: Hoare triple {38737#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {38739#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:22:48,768 INFO L273 TraceCheckUtils]: 1: Hoare triple {38739#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {38740#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:22:48,769 INFO L273 TraceCheckUtils]: 2: Hoare triple {38740#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {38740#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:22:48,770 INFO L273 TraceCheckUtils]: 3: Hoare triple {38740#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {38741#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:22:48,770 INFO L273 TraceCheckUtils]: 4: Hoare triple {38741#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {38742#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-23 14:22:48,771 INFO L273 TraceCheckUtils]: 5: Hoare triple {38742#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume #memory_int[main_p1] >= 0; {38742#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-23 14:22:48,772 INFO L273 TraceCheckUtils]: 6: Hoare triple {38742#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {38738#false} is VALID [2018-12-23 14:22:48,772 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-23 14:22:48,772 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:22:48,772 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:22:48,773 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2018-12-23 14:22:48,773 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [14], [18], [24], [25] [2018-12-23 14:22:48,774 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:22:48,774 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:22:48,805 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:22:48,805 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 4 fixpoints after 4 different actions. Largest state had 0 variables. [2018-12-23 14:22:48,805 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:22:48,805 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:22:48,805 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:22:48,806 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 72 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 72 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:22:48,827 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:22:48,828 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:22:48,834 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:22:48,839 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:22:48,839 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:22:48,869 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:22:48,881 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:48,881 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:22:48,897 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:48,898 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:48,899 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:22:48,921 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:48,923 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:48,924 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:48,925 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:22:48,952 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:48,954 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:48,955 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:48,956 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:48,957 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:22:48,965 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:48,998 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:49,018 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:49,032 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:49,045 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:49,068 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:22:49,068 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2018-12-23 14:22:49,076 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:49,076 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_455|, ULTIMATE.start_main_p5]. (and (= (store (store (store (store (store |v_#memory_int_455| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:22:49,077 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:22:49,165 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:49,167 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:49,168 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:49,169 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:49,171 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:49,172 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:49,173 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:49,174 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:49,176 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:49,177 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:49,178 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:49,179 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-23 14:22:49,186 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:49,235 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-23 14:22:49,236 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-23 14:22:49,269 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:49,270 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_456|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_456| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_456| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_456| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_456| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_456| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= .cse0 0) (= (select |v_#memory_int_456| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:22:49,270 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:22:49,364 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:49,365 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:49,367 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:49,368 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:49,369 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:49,370 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:49,372 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:49,373 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:49,374 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:49,375 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:49,376 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:49,378 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:49,379 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:49,380 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-23 14:22:49,395 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:49,449 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-23 14:22:49,449 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2018-12-23 14:22:51,495 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:51,495 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_457|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_457| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_457| ULTIMATE.start_main_p2)) (= 0 .cse0) (= (+ (select |v_#memory_int_457| ULTIMATE.start_main_p4) 1) 0) (= (store |v_#memory_int_457| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |v_#memory_int_457| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_457| ULTIMATE.start_main_p3)))) [2018-12-23 14:22:51,495 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:22:51,604 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:51,606 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:51,607 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:51,609 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:51,610 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:51,612 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:51,613 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:51,614 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:51,616 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:51,617 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:51,618 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:51,620 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:51,621 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:51,622 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:51,623 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:51,624 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:22:51,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 38 treesize of output 104 [2018-12-23 14:22:51,633 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:51,695 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:22:51,696 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2018-12-23 14:22:51,743 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:51,743 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_458|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_458| ULTIMATE.start_main_p3))) (and (= 0 (+ (select |v_#memory_int_458| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_458| ULTIMATE.start_main_p3 (+ .cse0 1))) (= 0 .cse0) (= 0 (select |v_#memory_int_458| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_458| ULTIMATE.start_main_p5)) (= 1 (select |v_#memory_int_458| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:22:51,743 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:22:51,837 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:51,839 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:51,840 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:51,841 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:51,843 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:51,844 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:51,845 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:51,846 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:51,848 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:51,849 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:51,850 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:51,851 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:51,852 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:22:51,853 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:51,854 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-23 14:22:51,862 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:51,919 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-23 14:22:51,919 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2018-12-23 14:22:52,048 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:52,048 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_459|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_459| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_459| ULTIMATE.start_main_p1) 1) (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_459| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_459| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_459| ULTIMATE.start_main_p3) 1) (= 0 (+ (select |v_#memory_int_459| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:22:52,049 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:22:52,139 INFO L273 TraceCheckUtils]: 0: Hoare triple {38737#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {38746#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:22:52,141 INFO L273 TraceCheckUtils]: 1: Hoare triple {38746#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {38750#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:22:52,143 INFO L273 TraceCheckUtils]: 2: Hoare triple {38750#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {38754#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:22:52,146 INFO L273 TraceCheckUtils]: 3: Hoare triple {38754#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {38758#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:22:52,149 INFO L273 TraceCheckUtils]: 4: Hoare triple {38758#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {38762#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2018-12-23 14:22:52,150 INFO L273 TraceCheckUtils]: 5: Hoare triple {38762#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume #memory_int[main_p1] >= 0; {38762#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2018-12-23 14:22:52,151 INFO L273 TraceCheckUtils]: 6: Hoare triple {38762#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume !(#memory_int[main_p2] <= 0); {38738#false} is VALID [2018-12-23 14:22:52,152 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:22:52,152 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:22:52,277 INFO L273 TraceCheckUtils]: 6: Hoare triple {38769#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {38738#false} is VALID [2018-12-23 14:22:52,278 INFO L273 TraceCheckUtils]: 5: Hoare triple {38769#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {38769#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:22:52,279 INFO L273 TraceCheckUtils]: 4: Hoare triple {38776#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {38769#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:22:52,280 INFO L273 TraceCheckUtils]: 3: Hoare triple {38780#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {38776#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2018-12-23 14:22:52,282 INFO L273 TraceCheckUtils]: 2: Hoare triple {38784#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {38780#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2018-12-23 14:22:52,284 INFO L273 TraceCheckUtils]: 1: Hoare triple {38788#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {38784#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2018-12-23 14:22:52,287 INFO L273 TraceCheckUtils]: 0: Hoare triple {38737#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {38788#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2018-12-23 14:22:52,288 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 3 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:22:52,309 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:22:52,309 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 5, 5] total 14 [2018-12-23 14:22:52,309 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:22:52,310 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 7 [2018-12-23 14:22:52,310 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:22:52,310 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2018-12-23 14:22:52,341 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:22:52,341 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2018-12-23 14:22:52,342 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2018-12-23 14:22:52,342 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=87, Invalid=153, Unknown=0, NotChecked=0, Total=240 [2018-12-23 14:22:52,342 INFO L87 Difference]: Start difference. First operand 137 states and 710 transitions. Second operand 11 states. [2018-12-23 14:23:05,672 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:23:05,672 INFO L93 Difference]: Finished difference Result 197 states and 846 transitions. [2018-12-23 14:23:05,672 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-23 14:23:05,672 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 7 [2018-12-23 14:23:05,672 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:23:05,672 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-12-23 14:23:05,673 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 84 transitions. [2018-12-23 14:23:05,673 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2018-12-23 14:23:05,673 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 84 transitions. [2018-12-23 14:23:05,673 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 84 transitions. [2018-12-23 14:23:05,826 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:23:05,830 INFO L225 Difference]: With dead ends: 197 [2018-12-23 14:23:05,830 INFO L226 Difference]: Without dead ends: 196 [2018-12-23 14:23:05,830 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 84 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=120, Invalid=222, Unknown=0, NotChecked=0, Total=342 [2018-12-23 14:23:05,831 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 196 states. [2018-12-23 14:23:16,949 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 196 to 140. [2018-12-23 14:23:16,950 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:23:16,950 INFO L82 GeneralOperation]: Start isEquivalent. First operand 196 states. Second operand 140 states. [2018-12-23 14:23:16,950 INFO L74 IsIncluded]: Start isIncluded. First operand 196 states. Second operand 140 states. [2018-12-23 14:23:16,950 INFO L87 Difference]: Start difference. First operand 196 states. Second operand 140 states. [2018-12-23 14:23:16,955 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:23:16,955 INFO L93 Difference]: Finished difference Result 196 states and 844 transitions. [2018-12-23 14:23:16,955 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 844 transitions. [2018-12-23 14:23:16,955 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:23:16,955 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:23:16,955 INFO L74 IsIncluded]: Start isIncluded. First operand 140 states. Second operand 196 states. [2018-12-23 14:23:16,955 INFO L87 Difference]: Start difference. First operand 140 states. Second operand 196 states. [2018-12-23 14:23:16,960 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:23:16,960 INFO L93 Difference]: Finished difference Result 196 states and 844 transitions. [2018-12-23 14:23:16,960 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 844 transitions. [2018-12-23 14:23:16,961 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:23:16,961 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:23:16,961 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:23:16,961 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:23:16,961 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 140 states. [2018-12-23 14:23:16,964 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 140 states to 140 states and 728 transitions. [2018-12-23 14:23:16,964 INFO L78 Accepts]: Start accepts. Automaton has 140 states and 728 transitions. Word has length 7 [2018-12-23 14:23:16,965 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:23:16,965 INFO L480 AbstractCegarLoop]: Abstraction has 140 states and 728 transitions. [2018-12-23 14:23:16,965 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2018-12-23 14:23:16,965 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 728 transitions. [2018-12-23 14:23:16,965 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2018-12-23 14:23:16,965 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:23:16,965 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2018-12-23 14:23:16,965 INFO L423 AbstractCegarLoop]: === Iteration 75 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:23:16,965 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:23:16,966 INFO L82 PathProgramCache]: Analyzing trace with hash -2026994678, now seen corresponding path program 2 times [2018-12-23 14:23:16,966 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:23:16,966 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:23:16,966 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:23:16,966 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:23:16,966 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:23:16,969 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:23:17,575 WARN L181 SmtUtils]: Spent 271.00 ms on a formula simplification. DAG size of input: 41 DAG size of output: 21 [2018-12-23 14:23:17,781 INFO L273 TraceCheckUtils]: 0: Hoare triple {39775#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {39777#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:23:17,783 INFO L273 TraceCheckUtils]: 1: Hoare triple {39777#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {39778#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:23:17,784 INFO L273 TraceCheckUtils]: 2: Hoare triple {39778#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {39779#(and (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:23:17,785 INFO L273 TraceCheckUtils]: 3: Hoare triple {39779#(and (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {39780#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:23:17,786 INFO L273 TraceCheckUtils]: 4: Hoare triple {39780#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {39780#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:23:17,787 INFO L273 TraceCheckUtils]: 5: Hoare triple {39780#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {39781#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-23 14:23:17,788 INFO L273 TraceCheckUtils]: 6: Hoare triple {39781#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {39776#false} is VALID [2018-12-23 14:23:17,788 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-23 14:23:17,788 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:23:17,789 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:23:17,789 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-23 14:23:17,789 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2018-12-23 14:23:17,789 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:23:17,789 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 73 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 73 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:23:17,799 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-23 14:23:17,799 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-23 14:23:17,806 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-12-23 14:23:17,806 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-23 14:23:17,810 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:23:17,811 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:23:17,846 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:23:17,859 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:17,860 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:23:17,876 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:17,878 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:17,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 23 treesize of output 37 [2018-12-23 14:23:17,901 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:17,902 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:17,903 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:17,904 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:23:17,934 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:17,935 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:17,935 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:17,936 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:17,937 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:23:17,945 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:23:17,978 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:23:17,997 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:23:18,012 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:23:18,026 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:23:18,051 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:23:18,051 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2018-12-23 14:23:18,059 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:23:18,059 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_464|, ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_464| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:23:18,060 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:23:18,164 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:18,165 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:18,166 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:18,167 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:18,168 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:18,170 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:18,171 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:18,172 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:18,174 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:18,175 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:18,176 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:18,177 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-23 14:23:18,186 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:23:18,237 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-23 14:23:18,237 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-23 14:23:20,264 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:23:20,264 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_465|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_465| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_465| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_465| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_465| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= .cse0 0) (= (select |v_#memory_int_465| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_465| ULTIMATE.start_main_p2) 0))) [2018-12-23 14:23:20,264 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:23:20,422 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:20,423 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:20,424 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:20,426 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:20,427 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:20,428 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:20,429 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:20,431 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:20,432 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:20,433 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:20,434 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:20,435 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:23:20,436 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-23 14:23:20,444 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:23:20,503 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-23 14:23:20,503 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:50, output treesize:38 [2018-12-23 14:23:20,527 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:23:20,528 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_466|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_466| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_466| ULTIMATE.start_main_p1)) (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_466| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_466| ULTIMATE.start_main_p5) 0) (= 0 (+ (select |v_#memory_int_466| ULTIMATE.start_main_p4) 1)) (= 0 (select |v_#memory_int_466| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:23:20,528 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:23:20,716 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:20,717 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:20,718 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:20,720 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:20,721 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:20,722 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:20,724 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:20,725 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:20,727 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:20,728 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:20,729 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:20,730 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:20,732 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:20,733 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 82 [2018-12-23 14:23:20,742 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:23:20,796 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-23 14:23:20,797 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:52, output treesize:42 [2018-12-23 14:23:22,946 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:23:22,946 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_467|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_467| ULTIMATE.start_main_p5))) (and (= (+ (select |v_#memory_int_467| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= |#memory_int| (store |v_#memory_int_467| ULTIMATE.start_main_p5 (+ .cse0 1))) (= (+ (select |v_#memory_int_467| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |v_#memory_int_467| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_467| ULTIMATE.start_main_p3)))) [2018-12-23 14:23:22,947 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-23 14:23:23,094 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:23,095 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:23,097 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:23,098 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:23,099 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:23,101 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:23,102 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:23,104 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:23,105 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:23,106 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:23,108 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:23,109 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:23,110 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:23,111 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:23,112 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:23:23,113 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 96 [2018-12-23 14:23:23,122 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:23:23,178 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-23 14:23:23,179 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:52, output treesize:42 [2018-12-23 14:23:23,625 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:23:23,626 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_468|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_468| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_468| ULTIMATE.start_main_p2) 1) 0) (= 0 (+ (select |v_#memory_int_468| ULTIMATE.start_main_p4) 1)) (= .cse0 0) (= |#memory_int| (store |v_#memory_int_468| ULTIMATE.start_main_p1 (+ .cse0 1))) (= (select |v_#memory_int_468| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_468| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2018-12-23 14:23:23,626 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-23 14:23:23,729 INFO L273 TraceCheckUtils]: 0: Hoare triple {39775#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {39785#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:23:23,732 INFO L273 TraceCheckUtils]: 1: Hoare triple {39785#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {39789#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2018-12-23 14:23:23,734 INFO L273 TraceCheckUtils]: 2: Hoare triple {39789#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {39793#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2018-12-23 14:23:23,737 INFO L273 TraceCheckUtils]: 3: Hoare triple {39793#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {39797#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:23:23,740 INFO L273 TraceCheckUtils]: 4: Hoare triple {39797#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {39801#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:23:23,741 INFO L273 TraceCheckUtils]: 5: Hoare triple {39801#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {39801#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:23:23,741 INFO L273 TraceCheckUtils]: 6: Hoare triple {39801#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {39776#false} is VALID [2018-12-23 14:23:23,742 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:23:23,742 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:23:23,889 INFO L273 TraceCheckUtils]: 6: Hoare triple {39808#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {39776#false} is VALID [2018-12-23 14:23:23,890 INFO L273 TraceCheckUtils]: 5: Hoare triple {39808#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {39808#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:23:23,891 INFO L273 TraceCheckUtils]: 4: Hoare triple {39815#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {39808#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:23:23,893 INFO L273 TraceCheckUtils]: 3: Hoare triple {39819#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {39815#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:23:23,894 INFO L273 TraceCheckUtils]: 2: Hoare triple {39823#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {39819#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:23:23,897 INFO L273 TraceCheckUtils]: 1: Hoare triple {39827#(<= (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {39823#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:23:23,899 INFO L273 TraceCheckUtils]: 0: Hoare triple {39775#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {39827#(<= (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:23:23,909 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 5 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:23:23,927 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:23:23,928 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2018-12-23 14:23:23,928 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:23:23,928 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2018-12-23 14:23:23,928 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:23:23,928 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-12-23 14:23:23,958 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:23:23,958 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-12-23 14:23:23,958 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-12-23 14:23:23,959 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=100, Invalid=172, Unknown=0, NotChecked=0, Total=272 [2018-12-23 14:23:23,959 INFO L87 Difference]: Start difference. First operand 140 states and 728 transitions. Second operand 12 states. [2018-12-23 14:23:38,666 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:23:38,667 INFO L93 Difference]: Finished difference Result 195 states and 830 transitions. [2018-12-23 14:23:38,667 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-23 14:23:38,667 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2018-12-23 14:23:38,667 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:23:38,667 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-23 14:23:38,667 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 84 transitions. [2018-12-23 14:23:38,667 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-23 14:23:38,668 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 84 transitions. [2018-12-23 14:23:38,668 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 84 transitions. [2018-12-23 14:23:38,808 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:23:38,813 INFO L225 Difference]: With dead ends: 195 [2018-12-23 14:23:38,813 INFO L226 Difference]: Without dead ends: 189 [2018-12-23 14:23:38,813 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 2 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 100 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=132, Invalid=248, Unknown=0, NotChecked=0, Total=380 [2018-12-23 14:23:38,813 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 189 states. [2018-12-23 14:23:50,008 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 189 to 139. [2018-12-23 14:23:50,008 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:23:50,008 INFO L82 GeneralOperation]: Start isEquivalent. First operand 189 states. Second operand 139 states. [2018-12-23 14:23:50,009 INFO L74 IsIncluded]: Start isIncluded. First operand 189 states. Second operand 139 states. [2018-12-23 14:23:50,009 INFO L87 Difference]: Start difference. First operand 189 states. Second operand 139 states. [2018-12-23 14:23:50,013 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:23:50,013 INFO L93 Difference]: Finished difference Result 189 states and 822 transitions. [2018-12-23 14:23:50,013 INFO L276 IsEmpty]: Start isEmpty. Operand 189 states and 822 transitions. [2018-12-23 14:23:50,014 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:23:50,014 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:23:50,014 INFO L74 IsIncluded]: Start isIncluded. First operand 139 states. Second operand 189 states. [2018-12-23 14:23:50,014 INFO L87 Difference]: Start difference. First operand 139 states. Second operand 189 states. [2018-12-23 14:23:50,018 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:23:50,018 INFO L93 Difference]: Finished difference Result 189 states and 822 transitions. [2018-12-23 14:23:50,018 INFO L276 IsEmpty]: Start isEmpty. Operand 189 states and 822 transitions. [2018-12-23 14:23:50,019 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:23:50,019 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:23:50,019 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:23:50,019 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:23:50,019 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 139 states. [2018-12-23 14:23:50,022 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 139 states to 139 states and 721 transitions. [2018-12-23 14:23:50,022 INFO L78 Accepts]: Start accepts. Automaton has 139 states and 721 transitions. Word has length 7 [2018-12-23 14:23:50,022 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:23:50,022 INFO L480 AbstractCegarLoop]: Abstraction has 139 states and 721 transitions. [2018-12-23 14:23:50,022 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-12-23 14:23:50,023 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 721 transitions. [2018-12-23 14:23:50,023 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2018-12-23 14:23:50,023 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:23:50,023 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2018-12-23 14:23:50,023 INFO L423 AbstractCegarLoop]: === Iteration 76 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:23:50,023 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:23:50,023 INFO L82 PathProgramCache]: Analyzing trace with hash -2026977316, now seen corresponding path program 1 times [2018-12-23 14:23:50,023 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:23:50,024 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:23:50,024 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-23 14:23:50,024 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:23:50,024 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:23:50,027 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:23:50,330 INFO L273 TraceCheckUtils]: 0: Hoare triple {40793#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {40795#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:23:50,332 INFO L273 TraceCheckUtils]: 1: Hoare triple {40795#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {40796#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:23:50,333 INFO L273 TraceCheckUtils]: 2: Hoare triple {40796#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {40796#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:23:50,333 INFO L273 TraceCheckUtils]: 3: Hoare triple {40796#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {40797#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:23:50,334 INFO L273 TraceCheckUtils]: 4: Hoare triple {40797#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p1] >= 0; {40797#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:23:50,335 INFO L273 TraceCheckUtils]: 5: Hoare triple {40797#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p2] <= 0; {40798#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-23 14:23:50,335 INFO L273 TraceCheckUtils]: 6: Hoare triple {40798#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {40794#false} is VALID [2018-12-23 14:23:50,336 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-23 14:23:50,336 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:23:50,336 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:23:50,336 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2018-12-23 14:23:50,336 INFO L207 CegarAbsIntRunner]: [0], [10], [18], [20], [24], [26], [27] [2018-12-23 14:23:50,339 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:23:50,339 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:23:50,353 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:23:50,354 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-23 14:23:50,354 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:23:50,354 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:23:50,354 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:23:50,354 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 74 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 74 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:23:50,362 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:23:50,362 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:23:50,367 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:23:50,371 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:23:50,371 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:23:50,413 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:23:50,423 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:23:50,439 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:50,439 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-23 14:23:50,459 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:50,461 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:50,461 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-23 14:23:50,486 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:50,491 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:50,492 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:50,493 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:23:50,501 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:23:50,523 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:23:50,538 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:23:50,552 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:23:50,564 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:23:50,584 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:23:50,585 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:28, output treesize:35 [2018-12-23 14:23:50,591 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:23:50,591 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_473|, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store (store (store (store (store |v_#memory_int_473| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0))) [2018-12-23 14:23:50,591 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:23:50,686 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:50,687 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:50,688 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:50,690 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:50,691 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:50,692 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:50,693 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:50,694 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 45 [2018-12-23 14:23:50,701 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:23:50,733 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:23:50,734 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:40, output treesize:30 [2018-12-23 14:23:52,743 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:23:52,743 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_474|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_474| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_474| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_474| ULTIMATE.start_main_p5)) (= (store |v_#memory_int_474| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_474| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:23:52,743 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:23:52,828 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,830 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,831 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,832 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,833 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,834 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,835 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,836 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:23:52,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 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 60 [2018-12-23 14:23:52,844 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:23:52,878 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-23 14:23:52,878 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:42, output treesize:30 [2018-12-23 14:23:52,893 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:23:52,893 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_475|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_475| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_475| ULTIMATE.start_main_p3) 0) (= 0 (select |v_#memory_int_475| ULTIMATE.start_main_p5)) (= .cse0 0) (= (+ (select |v_#memory_int_475| ULTIMATE.start_main_p4) 1) 0) (= (store |v_#memory_int_475| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:23:52,893 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:23:52,969 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,970 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,971 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,972 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,974 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,975 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,976 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,977 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,978 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,979 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 61 [2018-12-23 14:23:52,986 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:23:53,022 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-23 14:23:53,022 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:44, output treesize:34 [2018-12-23 14:23:53,034 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:23:53,034 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_476|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_476| ULTIMATE.start_main_p5))) (and (= (+ (select |v_#memory_int_476| ULTIMATE.start_main_p4) 1) 0) (= (select |v_#memory_int_476| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_476| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (= 0 (+ (select |v_#memory_int_476| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:23:53,035 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:23:53,171 INFO L273 TraceCheckUtils]: 0: Hoare triple {40793#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {40802#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:23:53,172 INFO L273 TraceCheckUtils]: 1: Hoare triple {40802#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {40806#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:23:53,174 INFO L273 TraceCheckUtils]: 2: Hoare triple {40806#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {40810#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:23:53,176 INFO L273 TraceCheckUtils]: 3: Hoare triple {40810#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {40814#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-23 14:23:53,177 INFO L273 TraceCheckUtils]: 4: Hoare triple {40814#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {40814#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-23 14:23:53,177 INFO L273 TraceCheckUtils]: 5: Hoare triple {40814#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {40814#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2018-12-23 14:23:53,178 INFO L273 TraceCheckUtils]: 6: Hoare triple {40814#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {40794#false} is VALID [2018-12-23 14:23:53,179 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-23 14:23:53,179 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:23:53,287 INFO L273 TraceCheckUtils]: 6: Hoare triple {40824#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {40794#false} is VALID [2018-12-23 14:23:53,287 INFO L273 TraceCheckUtils]: 5: Hoare triple {40824#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {40824#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:23:53,288 INFO L273 TraceCheckUtils]: 4: Hoare triple {40824#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {40824#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:23:53,289 INFO L273 TraceCheckUtils]: 3: Hoare triple {40834#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {40824#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:23:53,291 INFO L273 TraceCheckUtils]: 2: Hoare triple {40838#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {40834#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:23:53,293 INFO L273 TraceCheckUtils]: 1: Hoare triple {40842#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {40838#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:23:53,294 INFO L273 TraceCheckUtils]: 0: Hoare triple {40793#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {40842#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:23:53,294 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-23 14:23:53,313 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:23:53,313 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-23 14:23:53,313 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:23:53,314 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 7 [2018-12-23 14:23:53,314 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:23:53,314 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-23 14:23:53,340 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:23:53,340 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-23 14:23:53,341 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-23 14:23:53,341 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=115, Unknown=0, NotChecked=0, Total=182 [2018-12-23 14:23:53,341 INFO L87 Difference]: Start difference. First operand 139 states and 721 transitions. Second operand 10 states. [2018-12-23 14:24:05,933 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:24:05,933 INFO L93 Difference]: Finished difference Result 157 states and 743 transitions. [2018-12-23 14:24:05,933 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-23 14:24:05,933 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 7 [2018-12-23 14:24:05,933 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:24:05,933 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:24:05,934 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 53 transitions. [2018-12-23 14:24:05,934 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:24:05,934 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 53 transitions. [2018-12-23 14:24:05,934 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 53 transitions. [2018-12-23 14:24:06,009 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:24:06,012 INFO L225 Difference]: With dead ends: 157 [2018-12-23 14:24:06,012 INFO L226 Difference]: Without dead ends: 156 [2018-12-23 14:24:06,012 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 4 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=100, Invalid=172, Unknown=0, NotChecked=0, Total=272 [2018-12-23 14:24:06,012 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 156 states. [2018-12-23 14:24:17,246 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 156 to 137. [2018-12-23 14:24:17,246 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:24:17,246 INFO L82 GeneralOperation]: Start isEquivalent. First operand 156 states. Second operand 137 states. [2018-12-23 14:24:17,247 INFO L74 IsIncluded]: Start isIncluded. First operand 156 states. Second operand 137 states. [2018-12-23 14:24:17,247 INFO L87 Difference]: Start difference. First operand 156 states. Second operand 137 states. [2018-12-23 14:24:17,252 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:24:17,252 INFO L93 Difference]: Finished difference Result 156 states and 740 transitions. [2018-12-23 14:24:17,252 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 740 transitions. [2018-12-23 14:24:17,252 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:24:17,252 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:24:17,253 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand 156 states. [2018-12-23 14:24:17,253 INFO L87 Difference]: Start difference. First operand 137 states. Second operand 156 states. [2018-12-23 14:24:17,266 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:24:17,266 INFO L93 Difference]: Finished difference Result 156 states and 740 transitions. [2018-12-23 14:24:17,267 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 740 transitions. [2018-12-23 14:24:17,267 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:24:17,267 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:24:17,267 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:24:17,267 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:24:17,267 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 137 states. [2018-12-23 14:24:17,271 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 137 states to 137 states and 718 transitions. [2018-12-23 14:24:17,271 INFO L78 Accepts]: Start accepts. Automaton has 137 states and 718 transitions. Word has length 7 [2018-12-23 14:24:17,271 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:24:17,271 INFO L480 AbstractCegarLoop]: Abstraction has 137 states and 718 transitions. [2018-12-23 14:24:17,271 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-23 14:24:17,271 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 718 transitions. [2018-12-23 14:24:17,271 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2018-12-23 14:24:17,271 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:24:17,272 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2018-12-23 14:24:17,272 INFO L423 AbstractCegarLoop]: === Iteration 77 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:24:17,273 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:24:17,273 INFO L82 PathProgramCache]: Analyzing trace with hash -2026986990, now seen corresponding path program 2 times [2018-12-23 14:24:17,273 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:24:17,273 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:24:17,274 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:24:17,274 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:24:17,274 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:24:17,277 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:24:17,558 INFO L273 TraceCheckUtils]: 0: Hoare triple {41692#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {41694#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:24:17,559 INFO L273 TraceCheckUtils]: 1: Hoare triple {41694#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {41695#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:24:17,560 INFO L273 TraceCheckUtils]: 2: Hoare triple {41695#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {41696#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:24:17,561 INFO L273 TraceCheckUtils]: 3: Hoare triple {41696#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {41697#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:24:17,561 INFO L273 TraceCheckUtils]: 4: Hoare triple {41697#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {41698#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-23 14:24:17,562 INFO L273 TraceCheckUtils]: 5: Hoare triple {41698#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume #memory_int[main_p1] >= 0; {41698#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-23 14:24:17,562 INFO L273 TraceCheckUtils]: 6: Hoare triple {41698#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {41693#false} is VALID [2018-12-23 14:24:17,563 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:24:17,563 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:24:17,563 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:24:17,563 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-23 14:24:17,563 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2018-12-23 14:24:17,563 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:24:17,563 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 75 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 75 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:24:17,574 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-23 14:24:17,574 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-23 14:24:17,582 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-12-23 14:24:17,582 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-23 14:24:17,585 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:24:17,585 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:24:17,612 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:24:17,623 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:24:17,643 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:17,644 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2018-12-23 14:24:17,667 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:17,669 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:17,669 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2018-12-23 14:24:17,693 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:17,698 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:17,699 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:17,700 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:24:17,708 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:24:17,732 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:24:17,747 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:24:17,759 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:24:17,773 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:24:17,794 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:24:17,794 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:28, output treesize:35 [2018-12-23 14:24:17,801 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:24:17,801 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_480|, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_480| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:24:17,801 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:24:17,899 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:17,900 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:17,901 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:17,903 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:17,904 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:17,905 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:17,906 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:17,907 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 45 [2018-12-23 14:24:17,914 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:24:17,946 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:24:17,946 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:40, output treesize:30 [2018-12-23 14:24:19,954 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:24:19,954 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_481|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_481| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_481| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_481| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= (select |v_#memory_int_481| ULTIMATE.start_main_p5) 0) (= .cse0 0) (= (select |v_#memory_int_481| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:24:19,954 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:24:20,038 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:20,040 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:20,041 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:20,042 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:20,043 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:20,044 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:20,045 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:20,046 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:24:20,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 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 60 [2018-12-23 14:24:20,054 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:24:20,087 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:24:20,087 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:42, output treesize:30 [2018-12-23 14:24:20,103 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:24:20,104 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_482|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_482| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_482| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (store |v_#memory_int_482| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_482| ULTIMATE.start_main_p5)) (= (+ (select |v_#memory_int_482| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:24:20,104 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:24:20,185 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:20,187 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:20,188 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:20,189 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:20,191 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:20,192 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:20,193 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:20,194 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:20,195 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:20,196 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 61 [2018-12-23 14:24:20,204 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:24:20,238 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-23 14:24:20,239 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:44, output treesize:34 [2018-12-23 14:24:22,432 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:24:22,432 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_483|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_483| ULTIMATE.start_main_p5))) (and (= 0 (+ (select |v_#memory_int_483| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 .cse0) (= |#memory_int| (store |v_#memory_int_483| ULTIMATE.start_main_p5 (+ .cse0 1))) (= 0 (select |v_#memory_int_483| ULTIMATE.start_main_p3)) (= 0 (+ (select |v_#memory_int_483| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:24:22,432 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-23 14:24:22,547 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:22,548 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:22,549 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:22,551 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:22,552 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:22,553 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:22,554 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:22,555 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:22,556 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:22,557 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:22,558 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:24:22,558 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 75 [2018-12-23 14:24:22,568 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:24:22,607 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-23 14:24:22,608 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:44, output treesize:34 [2018-12-23 14:24:22,621 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:24:22,621 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_484|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_484| ULTIMATE.start_main_p3))) (and (= (+ (select |v_#memory_int_484| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_484| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store |v_#memory_int_484| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= (+ (select |v_#memory_int_484| ULTIMATE.start_main_p2) 1) 0) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:24:22,622 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-23 14:24:22,699 INFO L273 TraceCheckUtils]: 0: Hoare triple {41692#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {41702#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:24:22,701 INFO L273 TraceCheckUtils]: 1: Hoare triple {41702#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {41706#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:24:22,702 INFO L273 TraceCheckUtils]: 2: Hoare triple {41706#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {41710#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:24:22,704 INFO L273 TraceCheckUtils]: 3: Hoare triple {41710#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {41714#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:24:22,707 INFO L273 TraceCheckUtils]: 4: Hoare triple {41714#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {41718#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:24:22,708 INFO L273 TraceCheckUtils]: 5: Hoare triple {41718#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {41718#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:24:22,709 INFO L273 TraceCheckUtils]: 6: Hoare triple {41718#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {41693#false} is VALID [2018-12-23 14:24:22,709 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:24:22,709 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:24:22,855 INFO L273 TraceCheckUtils]: 6: Hoare triple {41725#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {41693#false} is VALID [2018-12-23 14:24:22,855 INFO L273 TraceCheckUtils]: 5: Hoare triple {41725#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {41725#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:24:22,857 INFO L273 TraceCheckUtils]: 4: Hoare triple {41732#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {41725#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:24:22,858 INFO L273 TraceCheckUtils]: 3: Hoare triple {41736#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {41732#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:24:22,859 INFO L273 TraceCheckUtils]: 2: Hoare triple {41740#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {41736#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:24:22,862 INFO L273 TraceCheckUtils]: 1: Hoare triple {41744#(<= (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {41740#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:24:22,864 INFO L273 TraceCheckUtils]: 0: Hoare triple {41692#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {41744#(<= (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:24:22,865 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 5 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:24:22,885 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:24:22,885 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2018-12-23 14:24:22,885 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:24:22,885 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2018-12-23 14:24:22,886 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:24:22,886 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-12-23 14:24:22,907 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:24:22,908 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-12-23 14:24:22,908 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-12-23 14:24:22,908 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=100, Invalid=172, Unknown=0, NotChecked=0, Total=272 [2018-12-23 14:24:22,908 INFO L87 Difference]: Start difference. First operand 137 states and 718 transitions. Second operand 12 states. [2018-12-23 14:24:36,023 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:24:36,023 INFO L93 Difference]: Finished difference Result 178 states and 767 transitions. [2018-12-23 14:24:36,023 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-23 14:24:36,023 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2018-12-23 14:24:36,023 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:24:36,023 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-23 14:24:36,024 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 78 transitions. [2018-12-23 14:24:36,024 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-23 14:24:36,024 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 78 transitions. [2018-12-23 14:24:36,024 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 78 transitions. [2018-12-23 14:24:36,133 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:24:36,138 INFO L225 Difference]: With dead ends: 178 [2018-12-23 14:24:36,138 INFO L226 Difference]: Without dead ends: 177 [2018-12-23 14:24:36,138 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 99 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=132, Invalid=248, Unknown=0, NotChecked=0, Total=380 [2018-12-23 14:24:36,138 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 177 states. [2018-12-23 14:24:46,324 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 177 to 123. [2018-12-23 14:24:46,324 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:24:46,324 INFO L82 GeneralOperation]: Start isEquivalent. First operand 177 states. Second operand 123 states. [2018-12-23 14:24:46,324 INFO L74 IsIncluded]: Start isIncluded. First operand 177 states. Second operand 123 states. [2018-12-23 14:24:46,324 INFO L87 Difference]: Start difference. First operand 177 states. Second operand 123 states. [2018-12-23 14:24:46,328 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:24:46,329 INFO L93 Difference]: Finished difference Result 177 states and 764 transitions. [2018-12-23 14:24:46,329 INFO L276 IsEmpty]: Start isEmpty. Operand 177 states and 764 transitions. [2018-12-23 14:24:46,329 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:24:46,329 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:24:46,329 INFO L74 IsIncluded]: Start isIncluded. First operand 123 states. Second operand 177 states. [2018-12-23 14:24:46,329 INFO L87 Difference]: Start difference. First operand 123 states. Second operand 177 states. [2018-12-23 14:24:46,333 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:24:46,333 INFO L93 Difference]: Finished difference Result 177 states and 764 transitions. [2018-12-23 14:24:46,333 INFO L276 IsEmpty]: Start isEmpty. Operand 177 states and 764 transitions. [2018-12-23 14:24:46,334 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:24:46,334 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:24:46,334 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:24:46,334 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:24:46,334 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 123 states. [2018-12-23 14:24:46,346 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 123 states to 123 states and 634 transitions. [2018-12-23 14:24:46,346 INFO L78 Accepts]: Start accepts. Automaton has 123 states and 634 transitions. Word has length 7 [2018-12-23 14:24:46,347 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:24:46,347 INFO L480 AbstractCegarLoop]: Abstraction has 123 states and 634 transitions. [2018-12-23 14:24:46,347 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2018-12-23 14:24:46,347 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 634 transitions. [2018-12-23 14:24:46,347 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2018-12-23 14:24:46,347 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:24:46,347 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2018-12-23 14:24:46,347 INFO L423 AbstractCegarLoop]: === Iteration 78 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:24:46,348 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:24:46,348 INFO L82 PathProgramCache]: Analyzing trace with hash -2027404064, now seen corresponding path program 2 times [2018-12-23 14:24:46,348 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:24:46,349 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:24:46,349 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-23 14:24:46,349 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:24:46,349 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:24:46,351 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:24:46,750 INFO L273 TraceCheckUtils]: 0: Hoare triple {42630#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {42632#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:24:46,751 INFO L273 TraceCheckUtils]: 1: Hoare triple {42632#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {42633#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-23 14:24:46,752 INFO L273 TraceCheckUtils]: 2: Hoare triple {42633#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {42634#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:24:46,753 INFO L273 TraceCheckUtils]: 3: Hoare triple {42634#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {42634#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:24:46,754 INFO L273 TraceCheckUtils]: 4: Hoare triple {42634#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {42635#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-23 14:24:46,754 INFO L273 TraceCheckUtils]: 5: Hoare triple {42635#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {42636#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:24:46,755 INFO L273 TraceCheckUtils]: 6: Hoare triple {42636#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {42631#false} is VALID [2018-12-23 14:24:46,755 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-23 14:24:46,756 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:24:46,756 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:24:46,756 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-23 14:24:46,756 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2018-12-23 14:24:46,756 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:24:46,756 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 76 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 76 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:24:46,766 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-23 14:24:46,766 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-23 14:24:46,773 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-12-23 14:24:46,773 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-23 14:24:46,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:24:46,778 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:24:46,809 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:24:46,821 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:46,822 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:24:46,838 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:46,840 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:46,840 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:24:46,864 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:46,866 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:46,867 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:46,868 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:24:46,898 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:46,899 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:46,900 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:46,901 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:46,902 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:24:46,911 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:24:46,943 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:24:46,962 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:24:46,978 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:24:46,993 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:24:47,016 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:24:47,017 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2018-12-23 14:24:47,024 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:24:47,024 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_489|, ULTIMATE.start_main_p5]. (and (= |#memory_int| (store (store (store (store (store |v_#memory_int_489| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2018-12-23 14:24:47,024 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:24:47,124 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:47,126 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:47,127 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:47,128 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:47,130 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:47,131 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:47,132 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:47,134 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:47,135 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:47,136 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:47,137 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:47,138 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-23 14:24:47,148 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:24:47,193 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-23 14:24:47,193 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2018-12-23 14:24:48,205 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:24:48,205 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_490|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_490| ULTIMATE.start_main_p4))) (and (= 0 (select |v_#memory_int_490| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_490| ULTIMATE.start_main_p3)) (= 0 .cse0) (= (select |v_#memory_int_490| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_490| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_490| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))))) [2018-12-23 14:24:48,205 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:24:48,310 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,312 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,313 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,314 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,316 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,317 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,318 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,320 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,321 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,322 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,323 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,324 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:24:48,325 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-23 14:24:48,333 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:24:48,385 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-23 14:24:48,386 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:50, output treesize:38 [2018-12-23 14:24:48,398 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:24:48,399 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_491|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_491| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_491| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |v_#memory_int_491| ULTIMATE.start_main_p1)) (= .cse0 0) (= (select |v_#memory_int_491| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_491| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_491| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))))) [2018-12-23 14:24:48,399 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2018-12-23 14:24:48,498 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,499 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,500 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,501 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,503 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,504 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,505 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,506 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,507 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,509 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,510 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,511 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,512 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,512 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-23 14:24:48,523 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:24:48,577 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-23 14:24:48,577 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:52, output treesize:42 [2018-12-23 14:24:48,593 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:24:48,593 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_492|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_492| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_492| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_492| ULTIMATE.start_main_p4) 1) 0) (= (select |v_#memory_int_492| ULTIMATE.start_main_p5) 0) (= (store |v_#memory_int_492| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 (+ (select |v_#memory_int_492| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= .cse0 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:24:48,593 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-23 14:24:48,696 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,697 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,699 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,700 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,702 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,703 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,704 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,705 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,707 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,708 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,709 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,710 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,711 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,713 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,714 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:48,714 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:24:48,715 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 106 [2018-12-23 14:24:48,726 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:24:48,785 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-23 14:24:48,786 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:52, output treesize:42 [2018-12-23 14:24:49,046 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:24:49,047 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_493|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_493| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_493| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 .cse0) (= 0 (+ (select |v_#memory_int_493| ULTIMATE.start_main_p2) 1)) (= (select |v_#memory_int_493| ULTIMATE.start_main_p5) 0) (= (+ (select |v_#memory_int_493| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= |#memory_int| (store |v_#memory_int_493| ULTIMATE.start_main_p3 (+ .cse0 1))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2018-12-23 14:24:49,047 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-23 14:24:49,148 INFO L273 TraceCheckUtils]: 0: Hoare triple {42630#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {42640#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:24:49,151 INFO L273 TraceCheckUtils]: 1: Hoare triple {42640#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {42644#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:24:49,162 INFO L273 TraceCheckUtils]: 2: Hoare triple {42644#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {42648#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2018-12-23 14:24:49,165 INFO L273 TraceCheckUtils]: 3: Hoare triple {42648#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {42652#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:24:49,173 INFO L273 TraceCheckUtils]: 4: Hoare triple {42652#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {42656#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:24:49,174 INFO L273 TraceCheckUtils]: 5: Hoare triple {42656#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {42656#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:24:49,175 INFO L273 TraceCheckUtils]: 6: Hoare triple {42656#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {42631#false} is VALID [2018-12-23 14:24:49,175 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:24:49,175 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:24:49,309 INFO L273 TraceCheckUtils]: 6: Hoare triple {42636#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {42631#false} is VALID [2018-12-23 14:24:49,310 INFO L273 TraceCheckUtils]: 5: Hoare triple {42636#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {42636#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:24:49,311 INFO L273 TraceCheckUtils]: 4: Hoare triple {42669#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {42636#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:24:49,312 INFO L273 TraceCheckUtils]: 3: Hoare triple {42673#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {42669#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:24:49,314 INFO L273 TraceCheckUtils]: 2: Hoare triple {42677#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {42673#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:24:49,316 INFO L273 TraceCheckUtils]: 1: Hoare triple {42681#(<= (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {42677#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:24:49,319 INFO L273 TraceCheckUtils]: 0: Hoare triple {42630#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {42681#(<= (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:24:49,319 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 5 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:24:49,339 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:24:49,339 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 14 [2018-12-23 14:24:49,339 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:24:49,339 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2018-12-23 14:24:49,339 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:24:49,339 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2018-12-23 14:24:49,365 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:24:49,366 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2018-12-23 14:24:49,366 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2018-12-23 14:24:49,366 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=90, Invalid=150, Unknown=0, NotChecked=0, Total=240 [2018-12-23 14:24:49,366 INFO L87 Difference]: Start difference. First operand 123 states and 634 transitions. Second operand 12 states.