java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/AutomizerBplInline.xml -s ../../../trunk/examples/settings/ai/array-bench/reach_32bit_compound_exp_cong.epf -i ../../../trunk/examples/programs/heapseparator/speedup-poc-dd-6-unlimited.bpl -------------------------------------------------------------------------------- This is Ultimate 0.1.24-1377b90 [2019-01-07 14:24:35,084 INFO L170 SettingsManager]: Resetting all preferences to default values... [2019-01-07 14:24:35,086 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2019-01-07 14:24:35,098 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2019-01-07 14:24:35,098 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2019-01-07 14:24:35,099 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2019-01-07 14:24:35,101 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2019-01-07 14:24:35,103 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2019-01-07 14:24:35,105 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2019-01-07 14:24:35,106 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2019-01-07 14:24:35,106 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2019-01-07 14:24:35,107 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2019-01-07 14:24:35,108 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2019-01-07 14:24:35,109 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2019-01-07 14:24:35,110 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2019-01-07 14:24:35,111 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2019-01-07 14:24:35,112 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2019-01-07 14:24:35,114 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2019-01-07 14:24:35,116 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2019-01-07 14:24:35,118 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2019-01-07 14:24:35,122 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2019-01-07 14:24:35,125 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2019-01-07 14:24:35,129 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2019-01-07 14:24:35,129 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2019-01-07 14:24:35,129 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2019-01-07 14:24:35,130 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2019-01-07 14:24:35,131 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2019-01-07 14:24:35,132 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2019-01-07 14:24:35,133 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2019-01-07 14:24:35,134 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2019-01-07 14:24:35,135 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2019-01-07 14:24:35,136 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2019-01-07 14:24:35,136 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2019-01-07 14:24:35,136 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2019-01-07 14:24:35,137 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2019-01-07 14:24:35,138 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2019-01-07 14:24:35,138 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/ai/array-bench/reach_32bit_compound_exp_cong.epf [2019-01-07 14:24:35,151 INFO L110 SettingsManager]: Loading preferences was successful [2019-01-07 14:24:35,151 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2019-01-07 14:24:35,152 INFO L131 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2019-01-07 14:24:35,152 INFO L133 SettingsManager]: * Show backtranslation warnings=false [2019-01-07 14:24:35,153 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2019-01-07 14:24:35,153 INFO L133 SettingsManager]: * User list type=DISABLED [2019-01-07 14:24:35,153 INFO L133 SettingsManager]: * Inline calls to unimplemented procedures=true [2019-01-07 14:24:35,153 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2019-01-07 14:24:35,154 INFO L133 SettingsManager]: * Explicit value domain=true [2019-01-07 14:24:35,154 INFO L133 SettingsManager]: * Abstract domain for RCFG-of-the-future=PoormanAbstractDomain [2019-01-07 14:24:35,154 INFO L133 SettingsManager]: * Octagon Domain=false [2019-01-07 14:24:35,154 INFO L133 SettingsManager]: * Abstract domain=CompoundDomain [2019-01-07 14:24:35,154 INFO L133 SettingsManager]: * Check feasibility of abstract posts with an SMT solver=true [2019-01-07 14:24:35,155 INFO L133 SettingsManager]: * Interval Domain=false [2019-01-07 14:24:35,155 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2019-01-07 14:24:35,155 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2019-01-07 14:24:35,156 INFO L133 SettingsManager]: * Use SBE=true [2019-01-07 14:24:35,156 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2019-01-07 14:24:35,156 INFO L133 SettingsManager]: * sizeof long=4 [2019-01-07 14:24:35,156 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2019-01-07 14:24:35,157 INFO L133 SettingsManager]: * sizeof POINTER=4 [2019-01-07 14:24:35,157 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2019-01-07 14:24:35,157 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2019-01-07 14:24:35,157 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2019-01-07 14:24:35,157 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2019-01-07 14:24:35,158 INFO L133 SettingsManager]: * sizeof long double=12 [2019-01-07 14:24:35,158 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2019-01-07 14:24:35,158 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2019-01-07 14:24:35,158 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2019-01-07 14:24:35,158 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2019-01-07 14:24:35,159 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2019-01-07 14:24:35,159 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2019-01-07 14:24:35,159 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2019-01-07 14:24:35,159 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2019-01-07 14:24:35,160 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2019-01-07 14:24:35,160 INFO L133 SettingsManager]: * Trace refinement strategy=TAIPAN [2019-01-07 14:24:35,160 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2019-01-07 14:24:35,160 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2019-01-07 14:24:35,160 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2019-01-07 14:24:35,161 INFO L133 SettingsManager]: * Abstract interpretation Mode=USE_PREDICATES [2019-01-07 14:24:35,196 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2019-01-07 14:24:35,209 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2019-01-07 14:24:35,214 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2019-01-07 14:24:35,215 INFO L271 PluginConnector]: Initializing Boogie PL CUP Parser... [2019-01-07 14:24:35,216 INFO L276 PluginConnector]: Boogie PL CUP Parser initialized [2019-01-07 14:24:35,217 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/heapseparator/speedup-poc-dd-6-unlimited.bpl [2019-01-07 14:24:35,217 INFO L111 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/heapseparator/speedup-poc-dd-6-unlimited.bpl' [2019-01-07 14:24:35,266 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2019-01-07 14:24:35,268 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2019-01-07 14:24:35,268 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2019-01-07 14:24:35,269 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2019-01-07 14:24:35,269 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2019-01-07 14:24:35,289 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 07.01 02:24:35" (1/1) ... [2019-01-07 14:24:35,303 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 07.01 02:24:35" (1/1) ... [2019-01-07 14:24:35,335 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2019-01-07 14:24:35,336 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2019-01-07 14:24:35,336 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2019-01-07 14:24:35,336 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2019-01-07 14:24:35,348 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 07.01 02:24:35" (1/1) ... [2019-01-07 14:24:35,349 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 07.01 02:24:35" (1/1) ... [2019-01-07 14:24:35,351 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 07.01 02:24:35" (1/1) ... [2019-01-07 14:24:35,351 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 07.01 02:24:35" (1/1) ... [2019-01-07 14:24:35,355 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 07.01 02:24:35" (1/1) ... [2019-01-07 14:24:35,359 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 07.01 02:24:35" (1/1) ... [2019-01-07 14:24:35,361 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 07.01 02:24:35" (1/1) ... [2019-01-07 14:24:35,363 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2019-01-07 14:24:35,363 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2019-01-07 14:24:35,363 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2019-01-07 14:24:35,364 INFO L276 PluginConnector]: RCFGBuilder initialized [2019-01-07 14:24:35,366 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 07.01 02:24:35" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2019-01-07 14:24:35,440 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2019-01-07 14:24:35,440 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2019-01-07 14:24:36,145 INFO L281 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2019-01-07 14:24:36,145 INFO L286 CfgBuilder]: Removed 15 assue(true) statements. [2019-01-07 14:24:36,147 INFO L202 PluginConnector]: Adding new model speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.01 02:24:36 BoogieIcfgContainer [2019-01-07 14:24:36,147 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2019-01-07 14:24:36,149 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2019-01-07 14:24:36,149 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2019-01-07 14:24:36,152 INFO L276 PluginConnector]: TraceAbstraction initialized [2019-01-07 14:24:36,153 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 07.01 02:24:35" (1/2) ... [2019-01-07 14:24:36,154 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@1e2e0878 and model type speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 07.01 02:24:36, skipping insertion in model container [2019-01-07 14:24:36,154 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "speedup-poc-dd-6-unlimited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 07.01 02:24:36" (2/2) ... [2019-01-07 14:24:36,156 INFO L112 eAbstractionObserver]: Analyzing ICFG speedup-poc-dd-6-unlimited.bpl [2019-01-07 14:24:36,166 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2019-01-07 14:24:36,175 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 6 error locations. [2019-01-07 14:24:36,194 INFO L257 AbstractCegarLoop]: Starting to check reachability of 6 error locations. [2019-01-07 14:24:36,229 INFO L382 AbstractCegarLoop]: Interprodecural is true [2019-01-07 14:24:36,229 INFO L383 AbstractCegarLoop]: Hoare is true [2019-01-07 14:24:36,229 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2019-01-07 14:24:36,230 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2019-01-07 14:24:36,230 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2019-01-07 14:24:36,230 INFO L387 AbstractCegarLoop]: Difference is false [2019-01-07 14:24:36,230 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2019-01-07 14:24:36,230 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2019-01-07 14:24:36,247 INFO L276 IsEmpty]: Start isEmpty. Operand 15 states. [2019-01-07 14:24:36,253 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 3 [2019-01-07 14:24:36,253 INFO L394 BasicCegarLoop]: Found error trace [2019-01-07 14:24:36,254 INFO L402 BasicCegarLoop]: trace histogram [1, 1] [2019-01-07 14:24:36,257 INFO L423 AbstractCegarLoop]: === Iteration 1 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-01-07 14:24:36,264 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:24:36,264 INFO L82 PathProgramCache]: Analyzing trace with hash 988, now seen corresponding path program 1 times [2019-01-07 14:24:36,267 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-01-07 14:24:36,325 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:24:36,325 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:24:36,325 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:24:36,325 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-01-07 14:24:36,387 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:24:36,558 INFO L273 TraceCheckUtils]: 0: Hoare triple {18#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {20#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-01-07 14:24:36,568 INFO L273 TraceCheckUtils]: 1: Hoare triple {20#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {19#false} is VALID [2019-01-07 14:24:36,570 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:24:36,572 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2019-01-07 14:24:36,572 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2019-01-07 14:24:36,573 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-01-07 14:24:36,578 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 2 [2019-01-07 14:24:36,580 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-01-07 14:24:36,584 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2019-01-07 14:24:36,616 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 2 edges. 2 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:24:36,617 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2019-01-07 14:24:36,627 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2019-01-07 14:24:36,628 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2019-01-07 14:24:36,631 INFO L87 Difference]: Start difference. First operand 15 states. Second operand 3 states. [2019-01-07 14:24:37,153 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:24:37,154 INFO L93 Difference]: Finished difference Result 29 states and 39 transitions. [2019-01-07 14:24:37,154 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2019-01-07 14:24:37,154 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 2 [2019-01-07 14:24:37,155 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-01-07 14:24:37,156 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-01-07 14:24:37,161 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 39 transitions. [2019-01-07 14:24:37,161 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-01-07 14:24:37,165 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 39 transitions. [2019-01-07 14:24:37,165 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 39 transitions. [2019-01-07 14:24:37,361 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:24:37,374 INFO L225 Difference]: With dead ends: 29 [2019-01-07 14:24:37,374 INFO L226 Difference]: Without dead ends: 24 [2019-01-07 14:24:37,377 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 1 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2019-01-07 14:24:37,397 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 24 states. [2019-01-07 14:24:37,452 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 24 to 14. [2019-01-07 14:24:37,452 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-01-07 14:24:37,453 INFO L82 GeneralOperation]: Start isEquivalent. First operand 24 states. Second operand 14 states. [2019-01-07 14:24:37,454 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 14 states. [2019-01-07 14:24:37,454 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 14 states. [2019-01-07 14:24:37,459 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:24:37,459 INFO L93 Difference]: Finished difference Result 24 states and 34 transitions. [2019-01-07 14:24:37,459 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 34 transitions. [2019-01-07 14:24:37,460 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:24:37,460 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:24:37,461 INFO L74 IsIncluded]: Start isIncluded. First operand 14 states. Second operand 24 states. [2019-01-07 14:24:37,461 INFO L87 Difference]: Start difference. First operand 14 states. Second operand 24 states. [2019-01-07 14:24:37,465 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:24:37,465 INFO L93 Difference]: Finished difference Result 24 states and 34 transitions. [2019-01-07 14:24:37,466 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 34 transitions. [2019-01-07 14:24:37,466 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:24:37,466 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:24:37,467 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-01-07 14:24:37,467 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-01-07 14:24:37,467 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2019-01-07 14:24:37,470 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 25 transitions. [2019-01-07 14:24:37,472 INFO L78 Accepts]: Start accepts. Automaton has 14 states and 25 transitions. Word has length 2 [2019-01-07 14:24:37,472 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-01-07 14:24:37,472 INFO L480 AbstractCegarLoop]: Abstraction has 14 states and 25 transitions. [2019-01-07 14:24:37,472 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2019-01-07 14:24:37,473 INFO L276 IsEmpty]: Start isEmpty. Operand 14 states and 25 transitions. [2019-01-07 14:24:37,473 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2019-01-07 14:24:37,474 INFO L394 BasicCegarLoop]: Found error trace [2019-01-07 14:24:37,474 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2019-01-07 14:24:37,474 INFO L423 AbstractCegarLoop]: === Iteration 2 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-01-07 14:24:37,475 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:24:37,475 INFO L82 PathProgramCache]: Analyzing trace with hash 30376, now seen corresponding path program 1 times [2019-01-07 14:24:37,475 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-01-07 14:24:37,476 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:24:37,476 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:24:37,477 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:24:37,477 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-01-07 14:24:37,512 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:24:37,869 INFO L273 TraceCheckUtils]: 0: Hoare triple {118#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {120#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2019-01-07 14:24:37,878 INFO L273 TraceCheckUtils]: 1: Hoare triple {120#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {121#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-01-07 14:24:37,892 INFO L273 TraceCheckUtils]: 2: Hoare triple {121#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {119#false} is VALID [2019-01-07 14:24:37,892 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:24:37,893 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:24:37,893 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-01-07 14:24:37,894 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2019-01-07 14:24:37,896 INFO L207 CegarAbsIntRunner]: [0], [18], [27] [2019-01-07 14:24:37,946 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-01-07 14:24:37,946 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-01-07 14:24:38,041 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-01-07 14:24:38,042 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 2. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2019-01-07 14:24:38,047 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:24:38,049 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-01-07 14:24:38,049 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:24:38,049 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-01-07 14:24:38,069 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:24:38,069 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-01-07 14:24:38,083 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:24:38,096 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:24:38,100 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-01-07 14:24:38,310 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:38,317 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2019-01-07 14:24:38,809 WARN L181 SmtUtils]: Spent 338.00 ms on a formula simplification. DAG size of input: 28 DAG size of output: 24 [2019-01-07 14:24:38,932 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:38,956 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:38,957 INFO L303 Elim1Store]: Index analysis took 131 ms [2019-01-07 14:24:38,959 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2019-01-07 14:24:39,272 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:39,274 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:39,277 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:39,278 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:39,281 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2019-01-07 14:24:39,404 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:39,406 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:39,407 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:39,408 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:39,412 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:39,416 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:39,420 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2019-01-07 14:24:39,426 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2019-01-07 14:24:39,447 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:39,467 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:39,493 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:39,534 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 4 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2019-01-07 14:24:39,578 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 7 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2019-01-07 14:24:39,620 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 9 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2019-01-07 14:24:39,658 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 10 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2019-01-07 14:24:39,780 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2019-01-07 14:24:39,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, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2019-01-07 14:24:39,877 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2019-01-07 14:24:39,907 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:39,930 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:39,949 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:39,962 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:39,975 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:40,024 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 2 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-01-07 14:24:40,025 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 6 variables, input treesize:72, output treesize:71 [2019-01-07 14:24:40,044 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:24:40,045 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_32|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_8|]. (let ((.cse0 (store |v_#valid_8| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse0 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p3 1))) (and (= (store (store (store (store (store (store |v_#memory_int_32| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= 0 (select .cse0 ULTIMATE.start_main_p2)) (= 0 (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= (select .cse2 ULTIMATE.start_main_p3) 0))))) [2019-01-07 14:24:40,045 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-01-07 14:24:42,239 WARN L181 SmtUtils]: Spent 2.11 s on a formula simplification. DAG size of input: 44 DAG size of output: 40 [2019-01-07 14:24:42,450 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:42,452 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 [2019-01-07 14:24:42,463 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:24:42,523 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. [2019-01-07 14:24:42,524 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:76, output treesize:50 [2019-01-07 14:24:44,601 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:24:44,601 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_33|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_33| ULTIMATE.start_main_p4))) (and (= 0 (select |v_#memory_int_33| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_33| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_33| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_33| ULTIMATE.start_main_p2)) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (store |v_#memory_int_33| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|))) [2019-01-07 14:24:44,601 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2019-01-07 14:24:44,647 INFO L273 TraceCheckUtils]: 0: Hoare triple {118#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {125#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2019-01-07 14:24:44,650 INFO L273 TraceCheckUtils]: 1: Hoare triple {125#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {129#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2019-01-07 14:24:44,651 INFO L273 TraceCheckUtils]: 2: Hoare triple {129#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} assume !(#memory_int[main_p1] >= 0); {119#false} is VALID [2019-01-07 14:24:44,651 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:24:44,652 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-01-07 14:24:44,678 INFO L273 TraceCheckUtils]: 2: Hoare triple {133#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {119#false} is VALID [2019-01-07 14:24:44,680 INFO L273 TraceCheckUtils]: 1: Hoare triple {137#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {133#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:24:44,683 INFO L273 TraceCheckUtils]: 0: Hoare triple {118#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {137#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:24:44,683 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:24:44,706 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-01-07 14:24:44,706 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2019-01-07 14:24:44,706 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-01-07 14:24:44,707 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2019-01-07 14:24:44,707 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-01-07 14:24:44,707 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2019-01-07 14:24:44,728 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:24:44,728 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2019-01-07 14:24:44,729 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2019-01-07 14:24:44,729 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2019-01-07 14:24:44,729 INFO L87 Difference]: Start difference. First operand 14 states and 25 transitions. Second operand 6 states. [2019-01-07 14:24:45,522 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:24:45,523 INFO L93 Difference]: Finished difference Result 47 states and 68 transitions. [2019-01-07 14:24:45,523 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2019-01-07 14:24:45,523 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2019-01-07 14:24:45,523 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-01-07 14:24:45,523 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-01-07 14:24:45,526 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 68 transitions. [2019-01-07 14:24:45,526 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-01-07 14:24:45,529 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 68 transitions. [2019-01-07 14:24:45,529 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 68 transitions. [2019-01-07 14:24:45,698 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:24:45,702 INFO L225 Difference]: With dead ends: 47 [2019-01-07 14:24:45,702 INFO L226 Difference]: Without dead ends: 45 [2019-01-07 14:24:45,703 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 2.5s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2019-01-07 14:24:45,703 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 45 states. [2019-01-07 14:24:45,726 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 45 to 18. [2019-01-07 14:24:45,727 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-01-07 14:24:45,727 INFO L82 GeneralOperation]: Start isEquivalent. First operand 45 states. Second operand 18 states. [2019-01-07 14:24:45,727 INFO L74 IsIncluded]: Start isIncluded. First operand 45 states. Second operand 18 states. [2019-01-07 14:24:45,727 INFO L87 Difference]: Start difference. First operand 45 states. Second operand 18 states. [2019-01-07 14:24:45,732 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:24:45,732 INFO L93 Difference]: Finished difference Result 45 states and 65 transitions. [2019-01-07 14:24:45,732 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 65 transitions. [2019-01-07 14:24:45,733 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:24:45,733 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:24:45,733 INFO L74 IsIncluded]: Start isIncluded. First operand 18 states. Second operand 45 states. [2019-01-07 14:24:45,733 INFO L87 Difference]: Start difference. First operand 18 states. Second operand 45 states. [2019-01-07 14:24:45,737 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:24:45,738 INFO L93 Difference]: Finished difference Result 45 states and 65 transitions. [2019-01-07 14:24:45,738 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 65 transitions. [2019-01-07 14:24:45,739 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:24:45,739 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:24:45,739 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-01-07 14:24:45,739 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-01-07 14:24:45,739 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2019-01-07 14:24:45,741 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 37 transitions. [2019-01-07 14:24:45,742 INFO L78 Accepts]: Start accepts. Automaton has 18 states and 37 transitions. Word has length 3 [2019-01-07 14:24:45,742 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-01-07 14:24:45,742 INFO L480 AbstractCegarLoop]: Abstraction has 18 states and 37 transitions. [2019-01-07 14:24:45,742 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2019-01-07 14:24:45,742 INFO L276 IsEmpty]: Start isEmpty. Operand 18 states and 37 transitions. [2019-01-07 14:24:45,743 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2019-01-07 14:24:45,743 INFO L394 BasicCegarLoop]: Found error trace [2019-01-07 14:24:45,743 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2019-01-07 14:24:45,743 INFO L423 AbstractCegarLoop]: === Iteration 3 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-01-07 14:24:45,744 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:24:45,744 INFO L82 PathProgramCache]: Analyzing trace with hash 30004, now seen corresponding path program 1 times [2019-01-07 14:24:45,744 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-01-07 14:24:45,745 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:24:45,746 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:24:45,746 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:24:45,746 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-01-07 14:24:45,760 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:24:45,824 INFO L273 TraceCheckUtils]: 0: Hoare triple {304#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {306#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-01-07 14:24:45,825 INFO L273 TraceCheckUtils]: 1: Hoare triple {306#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {307#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:24:45,829 INFO L273 TraceCheckUtils]: 2: Hoare triple {307#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {305#false} is VALID [2019-01-07 14:24:45,829 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:24:45,829 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:24:45,830 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-01-07 14:24:45,830 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2019-01-07 14:24:45,830 INFO L207 CegarAbsIntRunner]: [0], [6], [27] [2019-01-07 14:24:45,833 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-01-07 14:24:45,833 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-01-07 14:24:45,854 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-01-07 14:24:45,854 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 2. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2019-01-07 14:24:45,855 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:24:45,855 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-01-07 14:24:45,855 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:24:45,856 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-01-07 14:24:45,865 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:24:45,865 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-01-07 14:24:45,884 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:24:45,890 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:24:45,891 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-01-07 14:24:45,971 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2019-01-07 14:24:45,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, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2019-01-07 14:24:46,050 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:46,051 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:46,053 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2019-01-07 14:24:46,069 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:46,071 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:46,073 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:46,075 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2019-01-07 14:24:46,111 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:46,120 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:46,121 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:46,141 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:46,144 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2019-01-07 14:24:46,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, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2019-01-07 14:24:46,340 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2019-01-07 14:24:46,378 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:46,409 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:46,431 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:46,469 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:46,485 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:46,529 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:46,530 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2019-01-07 14:24:46,630 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:46,631 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:46,633 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2019-01-07 14:24:46,709 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:46,711 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:46,712 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:46,714 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:46,716 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2019-01-07 14:24:46,799 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:46,800 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:46,802 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:46,804 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:46,807 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:46,808 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:46,810 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2019-01-07 14:24:46,815 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2019-01-07 14:24:46,839 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:46,859 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:46,879 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:46,945 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 2 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2019-01-07 14:24:46,946 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 7 variables, input treesize:72, output treesize:71 [2019-01-07 14:24:47,026 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:24:47,027 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_35|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_9|]. (let ((.cse0 (store |v_#valid_9| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p2 1))) (let ((.cse2 (store .cse1 ULTIMATE.start_main_p3 1))) (and (= (select .cse0 ULTIMATE.start_main_p2) 0) (= (select .cse1 ULTIMATE.start_main_p3) 0) (= 0 (select (store .cse2 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= (select .cse2 ULTIMATE.start_main_p4) 0) (= (store (store (store (store (store (store |v_#memory_int_35| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|))))) [2019-01-07 14:24:47,027 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-01-07 14:24:47,381 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:47,384 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 [2019-01-07 14:24:47,394 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:24:47,529 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. [2019-01-07 14:24:47,530 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:76, output treesize:50 [2019-01-07 14:24:47,558 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:24:47,558 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_36|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_36| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_36| ULTIMATE.start_main_p3) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (select |v_#memory_int_36| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |v_#memory_int_36| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_36| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_36| ULTIMATE.start_main_p1 (+ .cse0 1))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2019-01-07 14:24:47,559 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-01-07 14:24:47,594 INFO L273 TraceCheckUtils]: 0: Hoare triple {304#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {311#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-01-07 14:24:47,599 INFO L273 TraceCheckUtils]: 1: Hoare triple {311#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {315#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2019-01-07 14:24:47,601 INFO L273 TraceCheckUtils]: 2: Hoare triple {315#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} assume !(#memory_int[main_p1] >= 0); {305#false} is VALID [2019-01-07 14:24:47,601 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:24:47,601 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-01-07 14:24:47,614 INFO L273 TraceCheckUtils]: 2: Hoare triple {307#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {305#false} is VALID [2019-01-07 14:24:47,616 INFO L273 TraceCheckUtils]: 1: Hoare triple {322#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {307#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:24:47,618 INFO L273 TraceCheckUtils]: 0: Hoare triple {304#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {322#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2019-01-07 14:24:47,618 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:24:47,637 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 2 imperfect interpolant sequences. [2019-01-07 14:24:47,637 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2, 2] total 5 [2019-01-07 14:24:47,637 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-01-07 14:24:47,638 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 3 [2019-01-07 14:24:47,638 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-01-07 14:24:47,638 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2019-01-07 14:24:47,642 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 3 edges. 3 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:24:47,642 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2019-01-07 14:24:47,642 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2019-01-07 14:24:47,642 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=23, Unknown=0, NotChecked=0, Total=42 [2019-01-07 14:24:47,643 INFO L87 Difference]: Start difference. First operand 18 states and 37 transitions. Second operand 4 states. [2019-01-07 14:24:47,837 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:24:47,837 INFO L93 Difference]: Finished difference Result 23 states and 60 transitions. [2019-01-07 14:24:47,838 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2019-01-07 14:24:47,838 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 3 [2019-01-07 14:24:47,838 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-01-07 14:24:47,839 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-01-07 14:24:47,840 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 34 transitions. [2019-01-07 14:24:47,840 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-01-07 14:24:47,841 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 34 transitions. [2019-01-07 14:24:47,842 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 34 transitions. [2019-01-07 14:24:47,908 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 34 edges. 34 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:24:47,910 INFO L225 Difference]: With dead ends: 23 [2019-01-07 14:24:47,913 INFO L226 Difference]: Without dead ends: 22 [2019-01-07 14:24:47,913 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=19, Invalid=23, Unknown=0, NotChecked=0, Total=42 [2019-01-07 14:24:47,914 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 22 states. [2019-01-07 14:24:47,953 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 22 to 21. [2019-01-07 14:24:47,953 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-01-07 14:24:47,953 INFO L82 GeneralOperation]: Start isEquivalent. First operand 22 states. Second operand 21 states. [2019-01-07 14:24:47,953 INFO L74 IsIncluded]: Start isIncluded. First operand 22 states. Second operand 21 states. [2019-01-07 14:24:47,954 INFO L87 Difference]: Start difference. First operand 22 states. Second operand 21 states. [2019-01-07 14:24:47,956 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:24:47,956 INFO L93 Difference]: Finished difference Result 22 states and 59 transitions. [2019-01-07 14:24:47,956 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 59 transitions. [2019-01-07 14:24:47,957 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:24:47,957 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:24:47,957 INFO L74 IsIncluded]: Start isIncluded. First operand 21 states. Second operand 22 states. [2019-01-07 14:24:47,957 INFO L87 Difference]: Start difference. First operand 21 states. Second operand 22 states. [2019-01-07 14:24:47,960 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:24:47,960 INFO L93 Difference]: Finished difference Result 22 states and 59 transitions. [2019-01-07 14:24:47,960 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 59 transitions. [2019-01-07 14:24:47,961 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:24:47,961 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:24:47,961 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-01-07 14:24:47,961 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-01-07 14:24:47,962 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 21 states. [2019-01-07 14:24:47,964 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 59 transitions. [2019-01-07 14:24:47,964 INFO L78 Accepts]: Start accepts. Automaton has 21 states and 59 transitions. Word has length 3 [2019-01-07 14:24:47,964 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-01-07 14:24:47,964 INFO L480 AbstractCegarLoop]: Abstraction has 21 states and 59 transitions. [2019-01-07 14:24:47,965 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2019-01-07 14:24:47,965 INFO L276 IsEmpty]: Start isEmpty. Operand 21 states and 59 transitions. [2019-01-07 14:24:47,965 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2019-01-07 14:24:47,965 INFO L394 BasicCegarLoop]: Found error trace [2019-01-07 14:24:47,965 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2019-01-07 14:24:47,966 INFO L423 AbstractCegarLoop]: === Iteration 4 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-01-07 14:24:47,966 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:24:47,966 INFO L82 PathProgramCache]: Analyzing trace with hash 30562, now seen corresponding path program 1 times [2019-01-07 14:24:47,966 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-01-07 14:24:47,967 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:24:47,967 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:24:47,968 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:24:47,968 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-01-07 14:24:47,980 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:24:48,083 INFO L273 TraceCheckUtils]: 0: Hoare triple {425#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {427#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p6) 0))} is VALID [2019-01-07 14:24:48,085 INFO L273 TraceCheckUtils]: 1: Hoare triple {427#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p6) 0))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {428#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-01-07 14:24:48,086 INFO L273 TraceCheckUtils]: 2: Hoare triple {428#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {426#false} is VALID [2019-01-07 14:24:48,087 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:24:48,087 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:24:48,087 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-01-07 14:24:48,087 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2019-01-07 14:24:48,088 INFO L207 CegarAbsIntRunner]: [0], [24], [27] [2019-01-07 14:24:48,089 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-01-07 14:24:48,089 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-01-07 14:24:48,105 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-01-07 14:24:48,106 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 2. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2019-01-07 14:24:48,106 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:24:48,106 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-01-07 14:24:48,106 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:24:48,107 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-01-07 14:24:48,116 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:24:48,116 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-01-07 14:24:48,135 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:24:48,154 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:24:48,155 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-01-07 14:24:48,279 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:48,281 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2019-01-07 14:24:48,432 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:48,434 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:48,435 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2019-01-07 14:24:48,502 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:48,504 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:48,505 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:48,507 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:48,508 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2019-01-07 14:24:48,605 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:48,607 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:48,608 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:48,610 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:48,611 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:48,613 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:48,614 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2019-01-07 14:24:48,742 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:48,744 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:48,745 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:48,746 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:48,748 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:48,749 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:48,751 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:48,752 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:48,754 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2019-01-07 14:24:48,758 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-01-07 14:24:48,791 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:48,823 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:48,856 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:48,890 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:48,939 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 5 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2019-01-07 14:24:48,955 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 9 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2019-01-07 14:24:48,974 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 12 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2019-01-07 14:24:49,056 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 14 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2019-01-07 14:24:49,121 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 15 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2019-01-07 14:24:49,169 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2019-01-07 14:24:49,175 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2019-01-07 14:24:49,235 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:49,254 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:49,272 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:49,293 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:49,307 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:49,397 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 2 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-01-07 14:24:49,397 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 6 variables, input treesize:92, output treesize:91 [2019-01-07 14:24:49,422 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:24:49,422 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_38|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, |v_#valid_10|]. (let ((.cse3 (store |v_#valid_10| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse3 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p3 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p4 1))) (and (= (select .cse0 ULTIMATE.start_main_p5) 0) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= (store (store (store (store (store (store |v_#memory_int_38| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= (select (store .cse0 ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6) 0) (= 0 (select .cse2 ULTIMATE.start_main_p3)) (= (select .cse3 ULTIMATE.start_main_p2) 0)))))) [2019-01-07 14:24:49,422 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-01-07 14:24:49,702 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:49,705 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 97 [2019-01-07 14:24:49,729 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:24:49,858 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2019-01-07 14:24:49,858 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:101, output treesize:71 [2019-01-07 14:24:51,875 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:24:51,876 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_39|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_39| ULTIMATE.start_main_p6))) (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= (store |v_#memory_int_39| ULTIMATE.start_main_p6 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_39| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_39| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (select |v_#memory_int_39| ULTIMATE.start_main_p3) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_39| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_39| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2019-01-07 14:24:51,876 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-01-07 14:24:51,920 INFO L273 TraceCheckUtils]: 0: Hoare triple {425#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {432#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2019-01-07 14:24:51,925 INFO L273 TraceCheckUtils]: 1: Hoare triple {432#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {436#(and (exists ((ULTIMATE.start_main_p6 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-01-07 14:24:51,926 INFO L273 TraceCheckUtils]: 2: Hoare triple {436#(and (exists ((ULTIMATE.start_main_p6 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p1] >= 0); {426#false} is VALID [2019-01-07 14:24:51,927 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:24:51,927 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-01-07 14:24:51,948 INFO L273 TraceCheckUtils]: 2: Hoare triple {440#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {426#false} is VALID [2019-01-07 14:24:51,950 INFO L273 TraceCheckUtils]: 1: Hoare triple {444#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {440#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:24:51,952 INFO L273 TraceCheckUtils]: 0: Hoare triple {425#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {444#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:24:51,952 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:24:51,973 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-01-07 14:24:51,973 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2019-01-07 14:24:51,973 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-01-07 14:24:51,974 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2019-01-07 14:24:51,974 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-01-07 14:24:51,974 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2019-01-07 14:24:51,995 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:24:51,995 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2019-01-07 14:24:51,995 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2019-01-07 14:24:51,996 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2019-01-07 14:24:51,996 INFO L87 Difference]: Start difference. First operand 21 states and 59 transitions. Second operand 6 states. [2019-01-07 14:24:52,718 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:24:52,719 INFO L93 Difference]: Finished difference Result 39 states and 79 transitions. [2019-01-07 14:24:52,719 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2019-01-07 14:24:52,719 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2019-01-07 14:24:52,719 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-01-07 14:24:52,720 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-01-07 14:24:52,721 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 50 transitions. [2019-01-07 14:24:52,721 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-01-07 14:24:52,722 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 50 transitions. [2019-01-07 14:24:52,722 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 50 transitions. [2019-01-07 14:24:52,899 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:24:52,902 INFO L225 Difference]: With dead ends: 39 [2019-01-07 14:24:52,902 INFO L226 Difference]: Without dead ends: 36 [2019-01-07 14:24:52,902 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2019-01-07 14:24:52,903 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2019-01-07 14:24:52,951 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 23. [2019-01-07 14:24:52,951 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-01-07 14:24:52,952 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand 23 states. [2019-01-07 14:24:52,952 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand 23 states. [2019-01-07 14:24:52,952 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 23 states. [2019-01-07 14:24:52,955 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:24:52,956 INFO L93 Difference]: Finished difference Result 36 states and 76 transitions. [2019-01-07 14:24:52,956 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 76 transitions. [2019-01-07 14:24:52,957 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:24:52,957 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:24:52,957 INFO L74 IsIncluded]: Start isIncluded. First operand 23 states. Second operand 36 states. [2019-01-07 14:24:52,957 INFO L87 Difference]: Start difference. First operand 23 states. Second operand 36 states. [2019-01-07 14:24:52,960 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:24:52,960 INFO L93 Difference]: Finished difference Result 36 states and 76 transitions. [2019-01-07 14:24:52,960 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 76 transitions. [2019-01-07 14:24:52,961 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:24:52,961 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:24:52,961 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-01-07 14:24:52,961 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-01-07 14:24:52,962 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2019-01-07 14:24:52,963 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 67 transitions. [2019-01-07 14:24:52,963 INFO L78 Accepts]: Start accepts. Automaton has 23 states and 67 transitions. Word has length 3 [2019-01-07 14:24:52,963 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-01-07 14:24:52,964 INFO L480 AbstractCegarLoop]: Abstraction has 23 states and 67 transitions. [2019-01-07 14:24:52,964 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2019-01-07 14:24:52,964 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 67 transitions. [2019-01-07 14:24:52,964 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2019-01-07 14:24:52,964 INFO L394 BasicCegarLoop]: Found error trace [2019-01-07 14:24:52,964 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2019-01-07 14:24:52,965 INFO L423 AbstractCegarLoop]: === Iteration 5 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-01-07 14:24:52,965 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:24:52,965 INFO L82 PathProgramCache]: Analyzing trace with hash 30128, now seen corresponding path program 1 times [2019-01-07 14:24:52,965 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-01-07 14:24:52,966 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:24:52,966 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:24:52,966 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:24:52,966 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-01-07 14:24:52,976 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:24:53,066 INFO L273 TraceCheckUtils]: 0: Hoare triple {595#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {597#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2019-01-07 14:24:53,067 INFO L273 TraceCheckUtils]: 1: Hoare triple {597#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {598#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-01-07 14:24:53,068 INFO L273 TraceCheckUtils]: 2: Hoare triple {598#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {596#false} is VALID [2019-01-07 14:24:53,068 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:24:53,069 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:24:53,069 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-01-07 14:24:53,069 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2019-01-07 14:24:53,069 INFO L207 CegarAbsIntRunner]: [0], [10], [27] [2019-01-07 14:24:53,071 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-01-07 14:24:53,071 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-01-07 14:24:53,088 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-01-07 14:24:53,088 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 2. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2019-01-07 14:24:53,088 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:24:53,089 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-01-07 14:24:53,089 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:24:53,089 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-01-07 14:24:53,099 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:24:53,099 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-01-07 14:24:53,111 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:24:53,130 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:24:53,131 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-01-07 14:24:53,300 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2019-01-07 14:24:53,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 24 treesize of output 30 [2019-01-07 14:24:53,358 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:53,359 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:53,360 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2019-01-07 14:24:53,371 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:53,372 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:53,374 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:53,375 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2019-01-07 14:24:53,390 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:53,392 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:53,393 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:53,395 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:53,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, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2019-01-07 14:24:53,430 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2019-01-07 14:24:53,448 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2019-01-07 14:24:53,477 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:53,498 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:53,517 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:53,532 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:53,546 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:53,590 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:53,591 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2019-01-07 14:24:53,637 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:53,639 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:53,640 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2019-01-07 14:24:53,695 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:53,696 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:53,696 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:53,697 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:53,698 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2019-01-07 14:24:53,775 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:53,776 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:53,777 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:53,779 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:53,780 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:53,781 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:53,783 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2019-01-07 14:24:53,785 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2019-01-07 14:24:53,800 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:53,816 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:53,833 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:53,877 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 2 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-01-07 14:24:53,878 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 6 variables, input treesize:72, output treesize:71 [2019-01-07 14:24:53,900 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:24:53,900 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_41|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_11|]. (let ((.cse1 (store |v_#valid_11| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse1 ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse2 ULTIMATE.start_main_p3 1))) (and (= (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0) (= 0 (select .cse1 ULTIMATE.start_main_p2)) (= (select .cse0 ULTIMATE.start_main_p4) 0) (= (select .cse2 ULTIMATE.start_main_p3) 0) (= (store (store (store (store (store (store |v_#memory_int_41| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|))))) [2019-01-07 14:24:53,900 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-01-07 14:24:54,002 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:54,004 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 [2019-01-07 14:24:54,009 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:24:54,048 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. [2019-01-07 14:24:54,048 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:76, output treesize:50 [2019-01-07 14:24:55,102 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:24:55,103 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_42|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_42| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_42| ULTIMATE.start_main_p3) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_42| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_42| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_42| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_42| ULTIMATE.start_main_p5) 0))) [2019-01-07 14:24:55,103 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-01-07 14:24:55,136 INFO L273 TraceCheckUtils]: 0: Hoare triple {595#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {602#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-01-07 14:24:55,138 INFO L273 TraceCheckUtils]: 1: Hoare triple {602#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {606#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p2 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2019-01-07 14:24:55,139 INFO L273 TraceCheckUtils]: 2: Hoare triple {606#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p2 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {596#false} is VALID [2019-01-07 14:24:55,140 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:24:55,140 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-01-07 14:24:55,161 INFO L273 TraceCheckUtils]: 2: Hoare triple {610#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {596#false} is VALID [2019-01-07 14:24:55,162 INFO L273 TraceCheckUtils]: 1: Hoare triple {614#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {610#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:24:55,163 INFO L273 TraceCheckUtils]: 0: Hoare triple {595#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {614#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:24:55,164 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:24:55,182 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-01-07 14:24:55,183 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2019-01-07 14:24:55,183 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-01-07 14:24:55,183 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2019-01-07 14:24:55,183 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-01-07 14:24:55,183 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2019-01-07 14:24:55,193 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:24:55,194 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2019-01-07 14:24:55,194 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2019-01-07 14:24:55,194 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2019-01-07 14:24:55,194 INFO L87 Difference]: Start difference. First operand 23 states and 67 transitions. Second operand 6 states. [2019-01-07 14:24:55,693 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:24:55,693 INFO L93 Difference]: Finished difference Result 49 states and 101 transitions. [2019-01-07 14:24:55,693 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2019-01-07 14:24:55,693 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2019-01-07 14:24:55,693 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-01-07 14:24:55,694 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-01-07 14:24:55,695 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2019-01-07 14:24:55,695 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-01-07 14:24:55,696 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2019-01-07 14:24:55,696 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2019-01-07 14:24:55,800 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:24:55,802 INFO L225 Difference]: With dead ends: 49 [2019-01-07 14:24:55,803 INFO L226 Difference]: Without dead ends: 47 [2019-01-07 14:24:55,803 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2019-01-07 14:24:55,803 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2019-01-07 14:24:55,882 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 25. [2019-01-07 14:24:55,882 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-01-07 14:24:55,882 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand 25 states. [2019-01-07 14:24:55,883 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 25 states. [2019-01-07 14:24:55,883 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 25 states. [2019-01-07 14:24:55,886 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:24:55,886 INFO L93 Difference]: Finished difference Result 47 states and 98 transitions. [2019-01-07 14:24:55,886 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 98 transitions. [2019-01-07 14:24:55,887 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:24:55,887 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:24:55,887 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand 47 states. [2019-01-07 14:24:55,887 INFO L87 Difference]: Start difference. First operand 25 states. Second operand 47 states. [2019-01-07 14:24:55,890 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:24:55,890 INFO L93 Difference]: Finished difference Result 47 states and 98 transitions. [2019-01-07 14:24:55,890 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 98 transitions. [2019-01-07 14:24:55,891 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:24:55,891 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:24:55,891 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-01-07 14:24:55,891 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-01-07 14:24:55,891 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2019-01-07 14:24:55,893 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 80 transitions. [2019-01-07 14:24:55,893 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 80 transitions. Word has length 3 [2019-01-07 14:24:55,893 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-01-07 14:24:55,893 INFO L480 AbstractCegarLoop]: Abstraction has 25 states and 80 transitions. [2019-01-07 14:24:55,893 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2019-01-07 14:24:55,894 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 80 transitions. [2019-01-07 14:24:55,894 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-01-07 14:24:55,894 INFO L394 BasicCegarLoop]: Found error trace [2019-01-07 14:24:55,894 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-01-07 14:24:55,895 INFO L423 AbstractCegarLoop]: === Iteration 6 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-01-07 14:24:55,895 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:24:55,895 INFO L82 PathProgramCache]: Analyzing trace with hash 941528, now seen corresponding path program 1 times [2019-01-07 14:24:55,895 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-01-07 14:24:55,896 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:24:55,896 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:24:55,896 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:24:55,896 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-01-07 14:24:55,907 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:24:55,992 INFO L273 TraceCheckUtils]: 0: Hoare triple {805#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {807#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2019-01-07 14:24:55,997 INFO L273 TraceCheckUtils]: 1: Hoare triple {807#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {808#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2019-01-07 14:24:55,998 INFO L273 TraceCheckUtils]: 2: Hoare triple {808#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {809#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-01-07 14:24:55,999 INFO L273 TraceCheckUtils]: 3: Hoare triple {809#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {806#false} is VALID [2019-01-07 14:24:55,999 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:24:55,999 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:24:55,999 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-01-07 14:24:55,999 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-01-07 14:24:56,000 INFO L207 CegarAbsIntRunner]: [0], [18], [22], [27] [2019-01-07 14:24:56,001 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-01-07 14:24:56,001 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-01-07 14:24:56,018 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-01-07 14:24:56,018 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 2. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-01-07 14:24:56,019 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:24:56,019 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-01-07 14:24:56,019 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:24:56,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 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-01-07 14:24:56,027 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:24:56,027 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-01-07 14:24:56,032 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:24:56,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:24:56,039 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-01-07 14:24:56,110 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2019-01-07 14:24:56,137 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2019-01-07 14:24:56,150 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:56,152 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:56,153 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2019-01-07 14:24:56,164 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:56,165 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:56,166 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:56,168 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2019-01-07 14:24:56,212 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:56,214 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:56,215 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:56,216 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:56,217 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2019-01-07 14:24:56,248 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2019-01-07 14:24:56,252 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2019-01-07 14:24:56,283 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:56,307 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:56,327 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:56,342 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:56,357 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:56,389 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:56,390 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2019-01-07 14:24:56,444 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:56,444 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:56,445 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2019-01-07 14:24:56,501 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:56,503 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:56,504 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:56,505 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:56,506 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2019-01-07 14:24:56,575 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:56,576 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:56,577 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:56,578 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:56,579 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:56,581 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:56,582 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2019-01-07 14:24:56,585 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2019-01-07 14:24:56,601 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:56,619 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:56,635 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:24:56,678 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-01-07 14:24:56,678 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:72, output treesize:71 [2019-01-07 14:24:56,689 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:24:56,689 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_44|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6, |v_#valid_12|]. (let ((.cse2 (store |v_#valid_12| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p3 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p3)) (= 0 (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= 0 (select .cse2 ULTIMATE.start_main_p2)) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= |#memory_int| (store (store (store (store (store (store |v_#memory_int_44| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0)))))) [2019-01-07 14:24:56,690 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-01-07 14:24:56,876 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:56,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, 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 [2019-01-07 14:24:56,882 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:24:56,918 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. [2019-01-07 14:24:56,918 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2019-01-07 14:24:56,926 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:24:56,926 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_45|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_45| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_45| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_45| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= |#memory_int| (store |v_#memory_int_45| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_45| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_45| ULTIMATE.start_main_p2) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2019-01-07 14:24:56,926 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2019-01-07 14:24:57,012 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:57,014 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:57,015 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:57,016 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:57,018 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:57,019 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:57,020 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:24:57,022 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 80 [2019-01-07 14:24:57,030 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:24:57,074 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. [2019-01-07 14:24:57,074 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:62, output treesize:40 [2019-01-07 14:24:59,093 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:24:59,093 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_46|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_46| ULTIMATE.start_main_p5))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_46| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_46| ULTIMATE.start_main_p2)) (= (+ (select |v_#memory_int_46| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 .cse0) (= (store |v_#memory_int_46| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_46| ULTIMATE.start_main_p1)))) [2019-01-07 14:24:59,093 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2019-01-07 14:24:59,150 INFO L273 TraceCheckUtils]: 0: Hoare triple {805#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {813#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2019-01-07 14:24:59,152 INFO L273 TraceCheckUtils]: 1: Hoare triple {813#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {817#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)))} is VALID [2019-01-07 14:24:59,154 INFO L273 TraceCheckUtils]: 2: Hoare triple {817#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {821#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)))} is VALID [2019-01-07 14:24:59,154 INFO L273 TraceCheckUtils]: 3: Hoare triple {821#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)))} assume !(#memory_int[main_p1] >= 0); {806#false} is VALID [2019-01-07 14:24:59,155 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:24:59,155 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-01-07 14:24:59,209 INFO L273 TraceCheckUtils]: 3: Hoare triple {825#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {806#false} is VALID [2019-01-07 14:24:59,211 INFO L273 TraceCheckUtils]: 2: Hoare triple {829#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {825#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:24:59,213 INFO L273 TraceCheckUtils]: 1: Hoare triple {833#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {829#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:24:59,215 INFO L273 TraceCheckUtils]: 0: Hoare triple {805#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {833#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:24:59,216 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:24:59,236 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-01-07 14:24:59,236 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-01-07 14:24:59,236 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-01-07 14:24:59,237 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-01-07 14:24:59,237 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-01-07 14:24:59,237 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-01-07 14:24:59,252 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:24:59,253 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-01-07 14:24:59,253 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-01-07 14:24:59,253 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2019-01-07 14:24:59,254 INFO L87 Difference]: Start difference. First operand 25 states and 80 transitions. Second operand 8 states. [2019-01-07 14:25:01,377 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:25:01,377 INFO L93 Difference]: Finished difference Result 61 states and 138 transitions. [2019-01-07 14:25:01,378 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-01-07 14:25:01,378 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-01-07 14:25:01,378 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-01-07 14:25:01,378 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-01-07 14:25:01,379 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 80 transitions. [2019-01-07 14:25:01,379 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-01-07 14:25:01,380 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 80 transitions. [2019-01-07 14:25:01,381 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 80 transitions. [2019-01-07 14:25:01,530 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:25:01,533 INFO L225 Difference]: With dead ends: 61 [2019-01-07 14:25:01,533 INFO L226 Difference]: Without dead ends: 57 [2019-01-07 14:25:01,534 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2019-01-07 14:25:01,534 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2019-01-07 14:25:01,606 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 29. [2019-01-07 14:25:01,607 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-01-07 14:25:01,607 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand 29 states. [2019-01-07 14:25:01,607 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand 29 states. [2019-01-07 14:25:01,607 INFO L87 Difference]: Start difference. First operand 57 states. Second operand 29 states. [2019-01-07 14:25:01,610 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:25:01,611 INFO L93 Difference]: Finished difference Result 57 states and 131 transitions. [2019-01-07 14:25:01,611 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 131 transitions. [2019-01-07 14:25:01,611 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:25:01,612 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:25:01,612 INFO L74 IsIncluded]: Start isIncluded. First operand 29 states. Second operand 57 states. [2019-01-07 14:25:01,612 INFO L87 Difference]: Start difference. First operand 29 states. Second operand 57 states. [2019-01-07 14:25:01,615 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:25:01,615 INFO L93 Difference]: Finished difference Result 57 states and 131 transitions. [2019-01-07 14:25:01,615 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 131 transitions. [2019-01-07 14:25:01,616 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:25:01,616 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:25:01,616 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-01-07 14:25:01,616 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-01-07 14:25:01,616 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 29 states. [2019-01-07 14:25:01,618 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 98 transitions. [2019-01-07 14:25:01,618 INFO L78 Accepts]: Start accepts. Automaton has 29 states and 98 transitions. Word has length 4 [2019-01-07 14:25:01,618 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-01-07 14:25:01,619 INFO L480 AbstractCegarLoop]: Abstraction has 29 states and 98 transitions. [2019-01-07 14:25:01,619 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-01-07 14:25:01,619 INFO L276 IsEmpty]: Start isEmpty. Operand 29 states and 98 transitions. [2019-01-07 14:25:01,619 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-01-07 14:25:01,619 INFO L394 BasicCegarLoop]: Found error trace [2019-01-07 14:25:01,619 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-01-07 14:25:01,620 INFO L423 AbstractCegarLoop]: === Iteration 7 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-01-07 14:25:01,620 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:25:01,620 INFO L82 PathProgramCache]: Analyzing trace with hash 941590, now seen corresponding path program 1 times [2019-01-07 14:25:01,620 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-01-07 14:25:01,621 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:25:01,621 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:25:01,621 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:25:01,621 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-01-07 14:25:01,635 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:25:01,759 INFO L273 TraceCheckUtils]: 0: Hoare triple {1068#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1070#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2019-01-07 14:25:01,760 INFO L273 TraceCheckUtils]: 1: Hoare triple {1070#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1071#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} is VALID [2019-01-07 14:25:01,765 INFO L273 TraceCheckUtils]: 2: Hoare triple {1071#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {1072#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-01-07 14:25:01,766 INFO L273 TraceCheckUtils]: 3: Hoare triple {1072#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {1069#false} is VALID [2019-01-07 14:25:01,766 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:25:01,766 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:25:01,766 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-01-07 14:25:01,767 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-01-07 14:25:01,767 INFO L207 CegarAbsIntRunner]: [0], [18], [24], [27] [2019-01-07 14:25:01,768 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-01-07 14:25:01,768 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-01-07 14:25:01,787 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-01-07 14:25:01,787 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 2. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-01-07 14:25:01,787 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:25:01,787 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-01-07 14:25:01,787 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:25:01,787 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-01-07 14:25:01,797 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:25:01,798 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-01-07 14:25:01,803 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:25:01,808 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:25:01,808 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-01-07 14:25:01,868 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:01,869 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2019-01-07 14:25:01,936 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:01,937 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:01,938 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2019-01-07 14:25:02,001 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:02,002 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:02,003 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:02,004 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:02,005 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2019-01-07 14:25:02,083 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:02,085 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:02,086 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:02,087 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:02,089 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:02,090 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:02,091 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2019-01-07 14:25:02,185 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:02,186 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:02,187 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:02,188 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:02,190 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:02,191 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:02,192 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:02,193 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:02,194 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2019-01-07 14:25:02,197 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-01-07 14:25:02,225 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:02,253 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:02,281 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:02,310 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:02,349 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 5 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2019-01-07 14:25:02,359 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 9 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2019-01-07 14:25:02,378 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 12 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2019-01-07 14:25:02,394 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 14 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2019-01-07 14:25:02,422 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 15 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2019-01-07 14:25:02,446 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2019-01-07 14:25:02,452 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2019-01-07 14:25:02,487 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:02,509 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:02,525 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:02,538 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:02,551 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:02,614 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-01-07 14:25:02,614 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 5 variables, input treesize:92, output treesize:91 [2019-01-07 14:25:02,636 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:25:02,637 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_49|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, |v_#valid_13|]. (let ((.cse2 (store |v_#valid_13| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse3 (store .cse1 ULTIMATE.start_main_p3 1))) (let ((.cse0 (store .cse3 ULTIMATE.start_main_p4 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p5)) (= 0 (select (store .cse0 ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6)) (= (store (store (store (store (store (store |v_#memory_int_49| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= (select .cse1 ULTIMATE.start_main_p3) 0) (= 0 (select .cse2 ULTIMATE.start_main_p2)) (= (select .cse3 ULTIMATE.start_main_p4) 0)))))) [2019-01-07 14:25:02,637 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-01-07 14:25:02,867 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:02,868 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 91 [2019-01-07 14:25:02,873 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:25:02,924 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. [2019-01-07 14:25:02,925 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:101, output treesize:71 [2019-01-07 14:25:03,205 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:25:03,206 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_50|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_50| ULTIMATE.start_main_p4))) (and (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_50| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_50| ULTIMATE.start_main_p6) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2019-01-07 14:25:03,206 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-01-07 14:25:03,383 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:03,384 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:03,385 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:03,386 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:03,387 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:03,389 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:03,389 INFO L683 Elim1Store]: detected equality via solver [2019-01-07 14:25:03,391 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 106 [2019-01-07 14:25:03,395 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:25:03,453 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2019-01-07 14:25:03,453 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:83, output treesize:59 [2019-01-07 14:25:03,615 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:25:03,616 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_51|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_51| ULTIMATE.start_main_p6))) (and (= (select |v_#memory_int_51| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_51| ULTIMATE.start_main_p6 (+ .cse0 (- 1))) |#memory_int|) (= 0 (+ (select |v_#memory_int_51| ULTIMATE.start_main_p4) 1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (select |v_#memory_int_51| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_51| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_51| ULTIMATE.start_main_p1) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2019-01-07 14:25:03,616 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, ULTIMATE.start_main_p4]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1))) [2019-01-07 14:25:03,659 INFO L273 TraceCheckUtils]: 0: Hoare triple {1068#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1076#(and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2019-01-07 14:25:03,663 INFO L273 TraceCheckUtils]: 1: Hoare triple {1076#(and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1080#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2019-01-07 14:25:03,671 INFO L273 TraceCheckUtils]: 2: Hoare triple {1080#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {1084#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2019-01-07 14:25:03,672 INFO L273 TraceCheckUtils]: 3: Hoare triple {1084#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} assume !(#memory_int[main_p1] >= 0); {1069#false} is VALID [2019-01-07 14:25:03,673 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:25:03,673 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-01-07 14:25:03,715 INFO L273 TraceCheckUtils]: 3: Hoare triple {1088#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1069#false} is VALID [2019-01-07 14:25:03,716 INFO L273 TraceCheckUtils]: 2: Hoare triple {1092#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {1088#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:25:03,718 INFO L273 TraceCheckUtils]: 1: Hoare triple {1096#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1092#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:25:03,720 INFO L273 TraceCheckUtils]: 0: Hoare triple {1068#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1096#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:25:03,720 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:25:03,740 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-01-07 14:25:03,741 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-01-07 14:25:03,741 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-01-07 14:25:03,741 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-01-07 14:25:03,741 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-01-07 14:25:03,741 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-01-07 14:25:03,753 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:25:03,753 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-01-07 14:25:03,753 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-01-07 14:25:03,754 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=67, Unknown=0, NotChecked=0, Total=110 [2019-01-07 14:25:03,754 INFO L87 Difference]: Start difference. First operand 29 states and 98 transitions. Second operand 8 states. [2019-01-07 14:25:06,219 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:25:06,219 INFO L93 Difference]: Finished difference Result 59 states and 140 transitions. [2019-01-07 14:25:06,219 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-01-07 14:25:06,219 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-01-07 14:25:06,220 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-01-07 14:25:06,220 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-01-07 14:25:06,221 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 76 transitions. [2019-01-07 14:25:06,221 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-01-07 14:25:06,222 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 76 transitions. [2019-01-07 14:25:06,222 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 76 transitions. [2019-01-07 14:25:06,382 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:25:06,383 INFO L225 Difference]: With dead ends: 59 [2019-01-07 14:25:06,383 INFO L226 Difference]: Without dead ends: 55 [2019-01-07 14:25:06,383 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=61, Invalid=95, Unknown=0, NotChecked=0, Total=156 [2019-01-07 14:25:06,384 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2019-01-07 14:25:06,586 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 30. [2019-01-07 14:25:06,586 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-01-07 14:25:06,586 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 30 states. [2019-01-07 14:25:06,587 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 30 states. [2019-01-07 14:25:06,587 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 30 states. [2019-01-07 14:25:06,589 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:25:06,589 INFO L93 Difference]: Finished difference Result 55 states and 135 transitions. [2019-01-07 14:25:06,589 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 135 transitions. [2019-01-07 14:25:06,590 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:25:06,590 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:25:06,590 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 55 states. [2019-01-07 14:25:06,590 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 55 states. [2019-01-07 14:25:06,593 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:25:06,593 INFO L93 Difference]: Finished difference Result 55 states and 135 transitions. [2019-01-07 14:25:06,593 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 135 transitions. [2019-01-07 14:25:06,593 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:25:06,593 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:25:06,594 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-01-07 14:25:06,594 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-01-07 14:25:06,594 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2019-01-07 14:25:06,596 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 110 transitions. [2019-01-07 14:25:06,596 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 110 transitions. Word has length 4 [2019-01-07 14:25:06,596 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-01-07 14:25:06,596 INFO L480 AbstractCegarLoop]: Abstraction has 30 states and 110 transitions. [2019-01-07 14:25:06,596 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-01-07 14:25:06,596 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 110 transitions. [2019-01-07 14:25:06,597 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-01-07 14:25:06,597 INFO L394 BasicCegarLoop]: Found error trace [2019-01-07 14:25:06,597 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-01-07 14:25:06,597 INFO L423 AbstractCegarLoop]: === Iteration 8 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-01-07 14:25:06,597 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:25:06,598 INFO L82 PathProgramCache]: Analyzing trace with hash 941156, now seen corresponding path program 1 times [2019-01-07 14:25:06,598 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-01-07 14:25:06,598 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:25:06,599 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:25:06,599 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:25:06,599 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-01-07 14:25:06,611 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:25:06,700 INFO L273 TraceCheckUtils]: 0: Hoare triple {1329#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1331#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2019-01-07 14:25:06,703 INFO L273 TraceCheckUtils]: 1: Hoare triple {1331#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1332#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2019-01-07 14:25:06,705 INFO L273 TraceCheckUtils]: 2: Hoare triple {1332#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1333#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-01-07 14:25:06,705 INFO L273 TraceCheckUtils]: 3: Hoare triple {1333#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {1330#false} is VALID [2019-01-07 14:25:06,706 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:25:06,706 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:25:06,706 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-01-07 14:25:06,706 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-01-07 14:25:06,706 INFO L207 CegarAbsIntRunner]: [0], [10], [18], [27] [2019-01-07 14:25:06,708 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-01-07 14:25:06,708 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-01-07 14:25:06,727 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-01-07 14:25:06,727 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 2. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-01-07 14:25:06,727 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:25:06,727 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-01-07 14:25:06,728 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:25:06,728 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 [2019-01-07 14:25:06,741 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:25:06,741 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-01-07 14:25:06,745 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:25:06,750 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:25:06,750 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-01-07 14:25:06,823 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2019-01-07 14:25:06,833 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2019-01-07 14:25:06,842 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:06,843 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:06,844 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2019-01-07 14:25:06,857 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:06,859 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:06,860 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:06,861 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2019-01-07 14:25:06,920 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:06,943 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:06,965 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:06,967 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:06,968 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2019-01-07 14:25:07,001 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2019-01-07 14:25:07,010 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2019-01-07 14:25:07,040 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:07,064 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:07,084 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:07,100 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:07,115 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:07,148 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:07,149 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2019-01-07 14:25:07,201 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:07,202 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:07,203 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2019-01-07 14:25:07,261 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:07,263 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:07,264 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:07,265 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:07,266 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2019-01-07 14:25:07,339 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:07,340 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:07,341 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:07,342 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:07,344 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:07,345 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:07,346 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2019-01-07 14:25:07,350 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2019-01-07 14:25:07,373 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:07,390 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:07,408 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:07,449 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-01-07 14:25:07,450 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:72, output treesize:71 [2019-01-07 14:25:07,460 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:25:07,460 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_54|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_14|]. (let ((.cse2 (store |v_#valid_14| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p3 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p3)) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= (store (store (store (store (store (store |v_#memory_int_54| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= 0 (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= (select .cse2 ULTIMATE.start_main_p2) 0))))) [2019-01-07 14:25:07,460 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-01-07 14:25:07,573 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:07,574 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 [2019-01-07 14:25:07,583 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:25:07,622 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. [2019-01-07 14:25:07,623 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2019-01-07 14:25:09,634 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:25:09,635 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_55|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_55| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_55| ULTIMATE.start_main_p5) 0) (= 0 (select |v_#memory_int_55| ULTIMATE.start_main_p1)) (= 0 .cse0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (store |v_#memory_int_55| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_55| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_55| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2019-01-07 14:25:09,635 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2019-01-07 14:25:09,750 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:09,752 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:09,753 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:09,754 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:09,755 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:09,755 INFO L683 Elim1Store]: detected equality via solver [2019-01-07 14:25:09,757 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 [2019-01-07 14:25:09,762 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:25:09,802 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. [2019-01-07 14:25:09,803 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:62, output treesize:42 [2019-01-07 14:25:09,837 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:25:09,838 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_56|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_56| ULTIMATE.start_main_p2))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_56| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_56| ULTIMATE.start_main_p3) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (+ (select |v_#memory_int_56| ULTIMATE.start_main_p4) 1) 0) (= (select |v_#memory_int_56| ULTIMATE.start_main_p5) 0) (= (store |v_#memory_int_56| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|))) [2019-01-07 14:25:09,838 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2019-01-07 14:25:09,873 INFO L273 TraceCheckUtils]: 0: Hoare triple {1329#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1337#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2019-01-07 14:25:09,875 INFO L273 TraceCheckUtils]: 1: Hoare triple {1337#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1341#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2019-01-07 14:25:09,878 INFO L273 TraceCheckUtils]: 2: Hoare triple {1341#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1345#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2019-01-07 14:25:09,887 INFO L273 TraceCheckUtils]: 3: Hoare triple {1345#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {1330#false} is VALID [2019-01-07 14:25:09,888 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:25:09,888 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-01-07 14:25:09,936 INFO L273 TraceCheckUtils]: 3: Hoare triple {1349#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1330#false} is VALID [2019-01-07 14:25:09,938 INFO L273 TraceCheckUtils]: 2: Hoare triple {1353#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1349#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:25:09,939 INFO L273 TraceCheckUtils]: 1: Hoare triple {1357#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1353#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:25:09,942 INFO L273 TraceCheckUtils]: 0: Hoare triple {1329#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1357#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:25:09,942 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:25:09,963 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-01-07 14:25:09,963 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-01-07 14:25:09,963 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-01-07 14:25:09,963 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-01-07 14:25:09,963 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-01-07 14:25:09,964 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-01-07 14:25:09,976 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:25:09,977 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-01-07 14:25:09,977 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-01-07 14:25:09,977 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=67, Unknown=0, NotChecked=0, Total=110 [2019-01-07 14:25:09,978 INFO L87 Difference]: Start difference. First operand 30 states and 110 transitions. Second operand 8 states. [2019-01-07 14:25:11,206 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:25:11,206 INFO L93 Difference]: Finished difference Result 57 states and 144 transitions. [2019-01-07 14:25:11,206 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-01-07 14:25:11,206 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-01-07 14:25:11,207 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-01-07 14:25:11,207 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-01-07 14:25:11,208 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 73 transitions. [2019-01-07 14:25:11,208 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-01-07 14:25:11,209 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 73 transitions. [2019-01-07 14:25:11,209 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 73 transitions. [2019-01-07 14:25:11,355 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:25:11,356 INFO L225 Difference]: With dead ends: 57 [2019-01-07 14:25:11,356 INFO L226 Difference]: Without dead ends: 55 [2019-01-07 14:25:11,357 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=61, Invalid=95, Unknown=0, NotChecked=0, Total=156 [2019-01-07 14:25:11,357 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2019-01-07 14:25:11,473 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 30. [2019-01-07 14:25:11,473 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-01-07 14:25:11,473 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 30 states. [2019-01-07 14:25:11,473 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 30 states. [2019-01-07 14:25:11,473 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 30 states. [2019-01-07 14:25:11,478 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:25:11,478 INFO L93 Difference]: Finished difference Result 55 states and 141 transitions. [2019-01-07 14:25:11,478 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 141 transitions. [2019-01-07 14:25:11,478 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:25:11,479 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:25:11,479 INFO L74 IsIncluded]: Start isIncluded. First operand 30 states. Second operand 55 states. [2019-01-07 14:25:11,479 INFO L87 Difference]: Start difference. First operand 30 states. Second operand 55 states. [2019-01-07 14:25:11,481 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:25:11,482 INFO L93 Difference]: Finished difference Result 55 states and 141 transitions. [2019-01-07 14:25:11,482 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 141 transitions. [2019-01-07 14:25:11,482 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:25:11,482 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:25:11,482 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-01-07 14:25:11,482 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-01-07 14:25:11,483 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 30 states. [2019-01-07 14:25:11,484 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 109 transitions. [2019-01-07 14:25:11,484 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 109 transitions. Word has length 4 [2019-01-07 14:25:11,484 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-01-07 14:25:11,485 INFO L480 AbstractCegarLoop]: Abstraction has 30 states and 109 transitions. [2019-01-07 14:25:11,485 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-01-07 14:25:11,485 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 109 transitions. [2019-01-07 14:25:11,485 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-01-07 14:25:11,485 INFO L394 BasicCegarLoop]: Found error trace [2019-01-07 14:25:11,485 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-01-07 14:25:11,486 INFO L423 AbstractCegarLoop]: === Iteration 9 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-01-07 14:25:11,486 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:25:11,486 INFO L82 PathProgramCache]: Analyzing trace with hash 941280, now seen corresponding path program 1 times [2019-01-07 14:25:11,486 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-01-07 14:25:11,487 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:25:11,487 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:25:11,487 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:25:11,487 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-01-07 14:25:11,496 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:25:11,632 INFO L273 TraceCheckUtils]: 0: Hoare triple {1589#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1591#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-01-07 14:25:11,633 INFO L273 TraceCheckUtils]: 1: Hoare triple {1591#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1592#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-01-07 14:25:11,634 INFO L273 TraceCheckUtils]: 2: Hoare triple {1592#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {1593#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-01-07 14:25:11,634 INFO L273 TraceCheckUtils]: 3: Hoare triple {1593#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {1590#false} is VALID [2019-01-07 14:25:11,635 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:25:11,635 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:25:11,635 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-01-07 14:25:11,635 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-01-07 14:25:11,635 INFO L207 CegarAbsIntRunner]: [0], [14], [18], [27] [2019-01-07 14:25:11,637 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-01-07 14:25:11,637 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-01-07 14:25:11,652 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-01-07 14:25:11,652 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 2. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-01-07 14:25:11,652 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:25:11,652 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-01-07 14:25:11,653 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:25:11,653 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 [2019-01-07 14:25:11,663 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:25:11,663 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-01-07 14:25:11,668 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:25:11,676 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:25:11,676 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-01-07 14:25:11,729 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:11,731 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2019-01-07 14:25:11,785 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:11,787 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:11,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, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2019-01-07 14:25:11,845 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:11,846 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:11,847 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:11,849 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:11,850 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2019-01-07 14:25:11,928 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:11,930 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:11,931 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:11,932 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:11,934 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:11,935 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:11,936 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2019-01-07 14:25:11,939 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2019-01-07 14:25:11,958 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:11,976 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:11,996 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:12,024 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 4 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2019-01-07 14:25:12,035 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 7 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2019-01-07 14:25:12,047 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 9 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2019-01-07 14:25:12,074 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 10 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2019-01-07 14:25:12,095 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2019-01-07 14:25:12,123 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2019-01-07 14:25:12,154 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2019-01-07 14:25:12,555 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:12,588 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:12,604 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:12,620 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:12,634 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:12,675 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-01-07 14:25:12,675 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:72, output treesize:71 [2019-01-07 14:25:12,688 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:25:12,688 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_59|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_15|]. (let ((.cse0 (store |v_#valid_15| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse0 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p3 1))) (and (= (store (store (store (store (store (store |v_#memory_int_59| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= 0 (select .cse0 ULTIMATE.start_main_p2)) (= (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= 0 (select .cse2 ULTIMATE.start_main_p3)))))) [2019-01-07 14:25:12,688 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-01-07 14:25:12,823 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:12,824 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2019-01-07 14:25:12,827 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:25:12,880 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. [2019-01-07 14:25:12,881 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2019-01-07 14:25:14,892 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:25:14,893 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_60|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_60| ULTIMATE.start_main_p4))) (and (= 0 (select |v_#memory_int_60| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_60| ULTIMATE.start_main_p5) 0) (= 0 (select |v_#memory_int_60| ULTIMATE.start_main_p1)) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_60| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_60| ULTIMATE.start_main_p3)))) [2019-01-07 14:25:14,893 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2019-01-07 14:25:14,980 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:14,982 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:14,983 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:14,984 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:14,986 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:14,987 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:14,988 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:14,989 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 [2019-01-07 14:25:14,994 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:25:15,032 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. [2019-01-07 14:25:15,032 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:62, output treesize:40 [2019-01-07 14:25:15,074 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:25:15,074 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_61|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_61| ULTIMATE.start_main_p3))) (and (= |#memory_int| (store |v_#memory_int_61| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (+ (select |v_#memory_int_61| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_61| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 .cse0) (= 0 (select |v_#memory_int_61| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_61| ULTIMATE.start_main_p2) 0))) [2019-01-07 14:25:15,075 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) [2019-01-07 14:25:15,109 INFO L273 TraceCheckUtils]: 0: Hoare triple {1589#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1597#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2019-01-07 14:25:15,111 INFO L273 TraceCheckUtils]: 1: Hoare triple {1597#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1601#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))))} is VALID [2019-01-07 14:25:15,114 INFO L273 TraceCheckUtils]: 2: Hoare triple {1601#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {1605#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} is VALID [2019-01-07 14:25:15,116 INFO L273 TraceCheckUtils]: 3: Hoare triple {1605#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} assume !(#memory_int[main_p1] >= 0); {1590#false} is VALID [2019-01-07 14:25:15,116 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:25:15,117 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-01-07 14:25:15,161 INFO L273 TraceCheckUtils]: 3: Hoare triple {1609#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1590#false} is VALID [2019-01-07 14:25:15,162 INFO L273 TraceCheckUtils]: 2: Hoare triple {1613#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {1609#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:25:15,164 INFO L273 TraceCheckUtils]: 1: Hoare triple {1617#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1613#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:25:15,167 INFO L273 TraceCheckUtils]: 0: Hoare triple {1589#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1617#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:25:15,167 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:25:15,188 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-01-07 14:25:15,189 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-01-07 14:25:15,189 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-01-07 14:25:15,189 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-01-07 14:25:15,189 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-01-07 14:25:15,189 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-01-07 14:25:15,204 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:25:15,204 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-01-07 14:25:15,204 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-01-07 14:25:15,205 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=42, Invalid=68, Unknown=0, NotChecked=0, Total=110 [2019-01-07 14:25:15,205 INFO L87 Difference]: Start difference. First operand 30 states and 109 transitions. Second operand 8 states. [2019-01-07 14:25:15,518 WARN L181 SmtUtils]: Spent 192.00 ms on a formula simplification. DAG size of input: 42 DAG size of output: 40 [2019-01-07 14:25:16,763 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:25:16,763 INFO L93 Difference]: Finished difference Result 57 states and 158 transitions. [2019-01-07 14:25:16,763 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-01-07 14:25:16,763 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-01-07 14:25:16,764 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-01-07 14:25:16,764 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-01-07 14:25:16,765 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 72 transitions. [2019-01-07 14:25:16,765 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-01-07 14:25:16,766 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 72 transitions. [2019-01-07 14:25:16,766 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 72 transitions. [2019-01-07 14:25:16,908 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:25:16,910 INFO L225 Difference]: With dead ends: 57 [2019-01-07 14:25:16,910 INFO L226 Difference]: Without dead ends: 53 [2019-01-07 14:25:16,910 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2019-01-07 14:25:16,911 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2019-01-07 14:25:17,145 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 31. [2019-01-07 14:25:17,146 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-01-07 14:25:17,146 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand 31 states. [2019-01-07 14:25:17,146 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand 31 states. [2019-01-07 14:25:17,147 INFO L87 Difference]: Start difference. First operand 53 states. Second operand 31 states. [2019-01-07 14:25:17,150 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:25:17,150 INFO L93 Difference]: Finished difference Result 53 states and 151 transitions. [2019-01-07 14:25:17,150 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 151 transitions. [2019-01-07 14:25:17,151 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:25:17,151 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:25:17,151 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 53 states. [2019-01-07 14:25:17,151 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 53 states. [2019-01-07 14:25:17,154 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:25:17,154 INFO L93 Difference]: Finished difference Result 53 states and 151 transitions. [2019-01-07 14:25:17,154 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 151 transitions. [2019-01-07 14:25:17,154 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:25:17,154 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:25:17,155 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-01-07 14:25:17,155 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-01-07 14:25:17,155 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2019-01-07 14:25:17,157 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 126 transitions. [2019-01-07 14:25:17,157 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 126 transitions. Word has length 4 [2019-01-07 14:25:17,157 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-01-07 14:25:17,157 INFO L480 AbstractCegarLoop]: Abstraction has 31 states and 126 transitions. [2019-01-07 14:25:17,157 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-01-07 14:25:17,158 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 126 transitions. [2019-01-07 14:25:17,158 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-01-07 14:25:17,158 INFO L394 BasicCegarLoop]: Found error trace [2019-01-07 14:25:17,158 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-01-07 14:25:17,158 INFO L423 AbstractCegarLoop]: === Iteration 10 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-01-07 14:25:17,158 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:25:17,159 INFO L82 PathProgramCache]: Analyzing trace with hash 929872, now seen corresponding path program 1 times [2019-01-07 14:25:17,159 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-01-07 14:25:17,159 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:25:17,160 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:25:17,160 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:25:17,160 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-01-07 14:25:17,169 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:25:17,334 INFO L273 TraceCheckUtils]: 0: Hoare triple {1853#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1855#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-01-07 14:25:17,336 INFO L273 TraceCheckUtils]: 1: Hoare triple {1855#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {1856#(and (or (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (or (<= 1 (select |#memory_int| ULTIMATE.start_main_p4)) (not (= (select |#memory_int| ULTIMATE.start_main_p4) (select |#memory_int| ULTIMATE.start_main_p1)))))} is VALID [2019-01-07 14:25:17,337 INFO L273 TraceCheckUtils]: 2: Hoare triple {1856#(and (or (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (or (<= 1 (select |#memory_int| ULTIMATE.start_main_p4)) (not (= (select |#memory_int| ULTIMATE.start_main_p4) (select |#memory_int| ULTIMATE.start_main_p1)))))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1857#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:25:17,337 INFO L273 TraceCheckUtils]: 3: Hoare triple {1857#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1854#false} is VALID [2019-01-07 14:25:17,337 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:25:17,338 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:25:17,338 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-01-07 14:25:17,338 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-01-07 14:25:17,338 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [27] [2019-01-07 14:25:17,339 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-01-07 14:25:17,339 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-01-07 14:25:17,348 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-01-07 14:25:17,348 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 2. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-01-07 14:25:17,348 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:25:17,348 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-01-07 14:25:17,349 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:25:17,349 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 [2019-01-07 14:25:17,359 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:25:17,359 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-01-07 14:25:17,364 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:25:17,367 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:25:17,368 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-01-07 14:25:17,427 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:17,427 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2019-01-07 14:25:17,481 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:17,483 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:17,484 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2019-01-07 14:25:17,547 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:17,548 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:17,549 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:17,551 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:17,552 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2019-01-07 14:25:17,632 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:17,633 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:17,634 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:17,636 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:17,637 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:17,638 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:17,639 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2019-01-07 14:25:17,644 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2019-01-07 14:25:17,662 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:17,683 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:17,703 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:17,734 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 4 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2019-01-07 14:25:17,748 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 7 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2019-01-07 14:25:17,764 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 9 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2019-01-07 14:25:17,784 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 10 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2019-01-07 14:25:17,809 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2019-01-07 14:25:17,866 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2019-01-07 14:25:17,873 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2019-01-07 14:25:17,904 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:17,931 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:17,961 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:17,979 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:17,998 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:18,057 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 2 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-01-07 14:25:18,058 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 6 variables, input treesize:72, output treesize:71 [2019-01-07 14:25:18,093 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:25:18,093 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_64|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_16|]. (let ((.cse2 (store |v_#valid_16| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p3 1))) (and (= (store (store (store (store (store (store |v_#memory_int_64| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= (select .cse0 ULTIMATE.start_main_p4) 0) (= (select .cse1 ULTIMATE.start_main_p3) 0) (= 0 (select .cse2 ULTIMATE.start_main_p2)) (= 0 (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)))))) [2019-01-07 14:25:18,093 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-01-07 14:25:18,260 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:18,261 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2019-01-07 14:25:18,267 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:25:18,310 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. [2019-01-07 14:25:18,311 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2019-01-07 14:25:18,326 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:25:18,326 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_65|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_65| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_65| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (store |v_#memory_int_65| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_65| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_65| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= .cse0 0) (= 0 (select |v_#memory_int_65| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2019-01-07 14:25:18,326 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-01-07 14:25:18,424 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:18,426 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:18,427 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:18,428 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:18,429 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:18,430 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:18,431 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:18,432 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 [2019-01-07 14:25:18,438 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:25:18,481 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. [2019-01-07 14:25:18,482 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:60, output treesize:38 [2019-01-07 14:25:19,806 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:25:19,806 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_66|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_66| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_66| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= .cse0 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_66| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_66| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (store |v_#memory_int_66| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_66| ULTIMATE.start_main_p2) 0))) [2019-01-07 14:25:19,806 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2019-01-07 14:25:19,849 INFO L273 TraceCheckUtils]: 0: Hoare triple {1853#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1861#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2019-01-07 14:25:19,852 INFO L273 TraceCheckUtils]: 1: Hoare triple {1861#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {1865#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-01-07 14:25:19,854 INFO L273 TraceCheckUtils]: 2: Hoare triple {1865#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1869#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2019-01-07 14:25:19,854 INFO L273 TraceCheckUtils]: 3: Hoare triple {1869#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} assume !(#memory_int[main_p1] >= 0); {1854#false} is VALID [2019-01-07 14:25:19,855 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:25:19,855 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-01-07 14:25:19,887 INFO L273 TraceCheckUtils]: 3: Hoare triple {1857#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1854#false} is VALID [2019-01-07 14:25:19,889 INFO L273 TraceCheckUtils]: 2: Hoare triple {1876#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1857#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:25:19,890 INFO L273 TraceCheckUtils]: 1: Hoare triple {1880#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {1876#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:25:19,892 INFO L273 TraceCheckUtils]: 0: Hoare triple {1853#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {1880#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:25:19,892 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:25:19,913 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-01-07 14:25:19,913 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2019-01-07 14:25:19,913 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-01-07 14:25:19,913 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-01-07 14:25:19,913 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-01-07 14:25:19,914 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-01-07 14:25:19,926 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:25:19,926 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-01-07 14:25:19,927 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-01-07 14:25:19,927 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=53, Unknown=0, NotChecked=0, Total=90 [2019-01-07 14:25:19,927 INFO L87 Difference]: Start difference. First operand 31 states and 126 transitions. Second operand 8 states. [2019-01-07 14:25:20,968 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:25:20,968 INFO L93 Difference]: Finished difference Result 73 states and 228 transitions. [2019-01-07 14:25:20,969 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-01-07 14:25:20,969 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-01-07 14:25:20,969 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-01-07 14:25:20,969 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-01-07 14:25:20,970 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 92 transitions. [2019-01-07 14:25:20,970 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-01-07 14:25:20,971 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 92 transitions. [2019-01-07 14:25:20,971 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 92 transitions. [2019-01-07 14:25:21,156 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:25:21,158 INFO L225 Difference]: With dead ends: 73 [2019-01-07 14:25:21,158 INFO L226 Difference]: Without dead ends: 71 [2019-01-07 14:25:21,158 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=37, Invalid=53, Unknown=0, NotChecked=0, Total=90 [2019-01-07 14:25:21,159 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2019-01-07 14:25:21,493 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 40. [2019-01-07 14:25:21,493 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-01-07 14:25:21,493 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand 40 states. [2019-01-07 14:25:21,494 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand 40 states. [2019-01-07 14:25:21,494 INFO L87 Difference]: Start difference. First operand 71 states. Second operand 40 states. [2019-01-07 14:25:21,497 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:25:21,497 INFO L93 Difference]: Finished difference Result 71 states and 222 transitions. [2019-01-07 14:25:21,497 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 222 transitions. [2019-01-07 14:25:21,498 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:25:21,498 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:25:21,498 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 71 states. [2019-01-07 14:25:21,498 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 71 states. [2019-01-07 14:25:21,500 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:25:21,500 INFO L93 Difference]: Finished difference Result 71 states and 222 transitions. [2019-01-07 14:25:21,501 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 222 transitions. [2019-01-07 14:25:21,501 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:25:21,501 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:25:21,501 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-01-07 14:25:21,501 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-01-07 14:25:21,501 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 40 states. [2019-01-07 14:25:21,503 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 173 transitions. [2019-01-07 14:25:21,503 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 173 transitions. Word has length 4 [2019-01-07 14:25:21,503 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-01-07 14:25:21,504 INFO L480 AbstractCegarLoop]: Abstraction has 40 states and 173 transitions. [2019-01-07 14:25:21,504 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-01-07 14:25:21,504 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 173 transitions. [2019-01-07 14:25:21,504 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-01-07 14:25:21,504 INFO L394 BasicCegarLoop]: Found error trace [2019-01-07 14:25:21,504 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-01-07 14:25:21,505 INFO L423 AbstractCegarLoop]: === Iteration 11 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-01-07 14:25:21,505 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:25:21,505 INFO L82 PathProgramCache]: Analyzing trace with hash 930184, now seen corresponding path program 1 times [2019-01-07 14:25:21,505 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-01-07 14:25:21,506 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:25:21,506 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:25:21,506 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:25:21,506 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-01-07 14:25:21,515 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:25:21,609 INFO L273 TraceCheckUtils]: 0: Hoare triple {2186#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {2188#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-01-07 14:25:21,610 INFO L273 TraceCheckUtils]: 1: Hoare triple {2188#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2189#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-01-07 14:25:21,611 INFO L273 TraceCheckUtils]: 2: Hoare triple {2189#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {2189#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-01-07 14:25:21,611 INFO L273 TraceCheckUtils]: 3: Hoare triple {2189#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {2187#false} is VALID [2019-01-07 14:25:21,612 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:25:21,612 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:25:21,612 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-01-07 14:25:21,612 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-01-07 14:25:21,613 INFO L207 CegarAbsIntRunner]: [0], [6], [28], [29] [2019-01-07 14:25:21,615 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-01-07 14:25:21,615 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-01-07 14:25:21,643 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-01-07 14:25:21,643 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 2. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2019-01-07 14:25:21,644 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:25:21,644 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-01-07 14:25:21,644 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:25:21,644 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 [2019-01-07 14:25:21,672 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:25:21,672 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-01-07 14:25:21,677 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:25:21,681 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:25:21,681 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-01-07 14:25:21,729 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2019-01-07 14:25:21,736 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2019-01-07 14:25:21,755 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:21,762 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:21,762 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2019-01-07 14:25:21,777 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:21,778 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:21,779 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:21,781 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2019-01-07 14:25:21,796 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:21,797 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:21,798 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:21,801 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:21,802 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2019-01-07 14:25:21,827 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2019-01-07 14:25:21,830 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2019-01-07 14:25:21,862 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:21,887 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:21,907 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:21,923 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:21,938 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:21,972 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:21,973 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2019-01-07 14:25:22,024 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:22,026 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:22,027 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2019-01-07 14:25:22,087 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:22,089 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:22,090 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:22,091 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:22,092 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2019-01-07 14:25:22,165 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:22,166 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:22,170 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:22,171 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:22,172 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:22,172 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:22,173 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2019-01-07 14:25:22,177 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2019-01-07 14:25:22,193 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:22,211 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:22,229 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:22,275 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 2 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-01-07 14:25:22,276 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 6 variables, input treesize:72, output treesize:71 [2019-01-07 14:25:22,296 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:25:22,297 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_69|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_17|]. (let ((.cse2 (store |v_#valid_17| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p3 1))) (and (= (store (store (store (store (store (store |v_#memory_int_69| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= 0 (select .cse0 ULTIMATE.start_main_p4)) (= 0 (select .cse1 ULTIMATE.start_main_p3)) (= (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0) (= 0 (select .cse2 ULTIMATE.start_main_p2)))))) [2019-01-07 14:25:22,297 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-01-07 14:25:22,392 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:22,393 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 [2019-01-07 14:25:22,397 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:25:22,438 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. [2019-01-07 14:25:22,439 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:76, output treesize:50 [2019-01-07 14:25:22,480 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:25:22,480 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_70|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_70| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_70| ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_70| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_70| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_70| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 .cse0) (= (store |v_#memory_int_70| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2019-01-07 14:25:22,480 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-01-07 14:25:22,539 INFO L273 TraceCheckUtils]: 0: Hoare triple {2186#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {2193#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-01-07 14:25:22,541 INFO L273 TraceCheckUtils]: 1: Hoare triple {2193#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2197#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-01-07 14:25:22,542 INFO L273 TraceCheckUtils]: 2: Hoare triple {2197#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {2197#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-01-07 14:25:22,543 INFO L273 TraceCheckUtils]: 3: Hoare triple {2197#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {2187#false} is VALID [2019-01-07 14:25:22,544 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:25:22,544 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-01-07 14:25:22,568 INFO L273 TraceCheckUtils]: 3: Hoare triple {2204#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {2187#false} is VALID [2019-01-07 14:25:22,575 INFO L273 TraceCheckUtils]: 2: Hoare triple {2204#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {2204#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-01-07 14:25:22,576 INFO L273 TraceCheckUtils]: 1: Hoare triple {2211#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2204#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-01-07 14:25:22,577 INFO L273 TraceCheckUtils]: 0: Hoare triple {2186#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {2211#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-01-07 14:25:22,578 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:25:22,597 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-01-07 14:25:22,597 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2019-01-07 14:25:22,597 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-01-07 14:25:22,598 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2019-01-07 14:25:22,598 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-01-07 14:25:22,598 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2019-01-07 14:25:22,611 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:25:22,611 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2019-01-07 14:25:22,612 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2019-01-07 14:25:22,612 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2019-01-07 14:25:22,612 INFO L87 Difference]: Start difference. First operand 40 states and 173 transitions. Second operand 6 states. [2019-01-07 14:25:23,383 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:25:23,384 INFO L93 Difference]: Finished difference Result 56 states and 192 transitions. [2019-01-07 14:25:23,384 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2019-01-07 14:25:23,384 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2019-01-07 14:25:23,384 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-01-07 14:25:23,385 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-01-07 14:25:23,385 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2019-01-07 14:25:23,385 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-01-07 14:25:23,386 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 55 transitions. [2019-01-07 14:25:23,386 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 55 transitions. [2019-01-07 14:25:23,468 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:25:23,470 INFO L225 Difference]: With dead ends: 56 [2019-01-07 14:25:23,470 INFO L226 Difference]: Without dead ends: 55 [2019-01-07 14:25:23,471 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 [2019-01-07 14:25:23,471 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2019-01-07 14:25:23,880 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 42. [2019-01-07 14:25:23,880 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-01-07 14:25:23,880 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 42 states. [2019-01-07 14:25:23,880 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 42 states. [2019-01-07 14:25:23,880 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 42 states. [2019-01-07 14:25:23,883 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:25:23,883 INFO L93 Difference]: Finished difference Result 55 states and 190 transitions. [2019-01-07 14:25:23,883 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 190 transitions. [2019-01-07 14:25:23,884 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:25:23,884 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:25:23,884 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 55 states. [2019-01-07 14:25:23,884 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 55 states. [2019-01-07 14:25:23,886 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:25:23,886 INFO L93 Difference]: Finished difference Result 55 states and 190 transitions. [2019-01-07 14:25:23,886 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 190 transitions. [2019-01-07 14:25:23,887 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:25:23,887 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:25:23,887 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-01-07 14:25:23,887 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-01-07 14:25:23,887 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 42 states. [2019-01-07 14:25:23,889 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 180 transitions. [2019-01-07 14:25:23,889 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 180 transitions. Word has length 4 [2019-01-07 14:25:23,889 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-01-07 14:25:23,889 INFO L480 AbstractCegarLoop]: Abstraction has 42 states and 180 transitions. [2019-01-07 14:25:23,889 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2019-01-07 14:25:23,890 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 180 transitions. [2019-01-07 14:25:23,890 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-01-07 14:25:23,890 INFO L394 BasicCegarLoop]: Found error trace [2019-01-07 14:25:23,890 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-01-07 14:25:23,890 INFO L423 AbstractCegarLoop]: === Iteration 12 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-01-07 14:25:23,891 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:25:23,891 INFO L82 PathProgramCache]: Analyzing trace with hash 945434, now seen corresponding path program 1 times [2019-01-07 14:25:23,891 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-01-07 14:25:23,892 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:25:23,892 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:25:23,892 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:25:23,892 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-01-07 14:25:23,898 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:25:24,046 INFO L273 TraceCheckUtils]: 0: Hoare triple {2470#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {2472#(and (or (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))) (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p6)) (or (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p5) 0)))} is VALID [2019-01-07 14:25:24,048 INFO L273 TraceCheckUtils]: 1: Hoare triple {2472#(and (or (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))) (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p6)) (or (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p5) 0)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {2473#(or (and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6))) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2019-01-07 14:25:24,049 INFO L273 TraceCheckUtils]: 2: Hoare triple {2473#(or (and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6))) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {2474#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:25:24,050 INFO L273 TraceCheckUtils]: 3: Hoare triple {2474#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {2471#false} is VALID [2019-01-07 14:25:24,051 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:25:24,051 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:25:24,051 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-01-07 14:25:24,051 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-01-07 14:25:24,052 INFO L207 CegarAbsIntRunner]: [0], [22], [24], [27] [2019-01-07 14:25:24,055 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-01-07 14:25:24,055 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-01-07 14:25:24,074 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-01-07 14:25:24,075 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 2. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-01-07 14:25:24,075 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:25:24,075 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-01-07 14:25:24,075 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:25:24,075 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 [2019-01-07 14:25:24,085 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:25:24,086 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-01-07 14:25:24,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:25:24,098 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:25:24,099 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-01-07 14:25:24,173 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:24,174 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2019-01-07 14:25:24,238 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:24,240 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:24,241 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2019-01-07 14:25:24,850 WARN L181 SmtUtils]: Spent 513.00 ms on a formula simplification. DAG size of input: 35 DAG size of output: 29 [2019-01-07 14:25:25,058 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:25,079 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:25,085 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:25,087 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:25,088 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2019-01-07 14:25:25,183 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:25,185 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:25,187 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:25,188 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:25,190 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:25,192 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:25,193 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2019-01-07 14:25:25,358 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:25,389 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:25,413 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:25,429 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:25,430 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:25,431 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:25,432 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:25,433 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:25,434 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2019-01-07 14:25:25,437 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-01-07 14:25:25,492 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:25,523 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:25,561 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:25,597 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:25,667 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 5 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2019-01-07 14:25:25,681 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 9 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2019-01-07 14:25:25,711 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 12 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2019-01-07 14:25:25,734 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 14 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2019-01-07 14:25:25,763 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 15 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2019-01-07 14:25:25,835 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2019-01-07 14:25:25,840 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2019-01-07 14:25:25,880 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:25,903 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:25,922 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:25,939 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:25,953 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:26,009 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-01-07 14:25:26,009 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 5 variables, input treesize:92, output treesize:91 [2019-01-07 14:25:26,020 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:25:26,021 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_72|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, |v_#valid_18|]. (let ((.cse0 (store |v_#valid_18| ULTIMATE.start_main_p1 1))) (let ((.cse3 (store .cse0 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse3 ULTIMATE.start_main_p3 1))) (let ((.cse2 (store .cse1 ULTIMATE.start_main_p4 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p2)) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= 0 (select (store .cse2 ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6)) (= (select .cse2 ULTIMATE.start_main_p5) 0) (= |#memory_int| (store (store (store (store (store (store |v_#memory_int_72| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0)) (= 0 (select .cse3 ULTIMATE.start_main_p3))))))) [2019-01-07 14:25:26,021 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-01-07 14:25:26,186 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:26,188 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 97 [2019-01-07 14:25:26,224 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:25:26,336 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. [2019-01-07 14:25:26,337 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:101, output treesize:71 [2019-01-07 14:25:28,351 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:25:28,351 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_73|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_73| ULTIMATE.start_main_p5))) (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_73| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_73| ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_73| ULTIMATE.start_main_p5 (+ .cse0 1))) (= .cse0 0) (= (select |v_#memory_int_73| ULTIMATE.start_main_p6) 0) (= (select |v_#memory_int_73| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_73| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2019-01-07 14:25:28,351 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-01-07 14:25:28,579 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:28,583 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:28,584 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:28,585 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:28,586 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:28,588 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:28,589 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:28,590 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:28,590 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 111 [2019-01-07 14:25:28,596 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:25:28,661 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2019-01-07 14:25:28,661 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:81, output treesize:55 [2019-01-07 14:25:30,710 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:25:30,711 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_74|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_74| ULTIMATE.start_main_p6))) (and (= (select |v_#memory_int_74| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_74| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_74| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_74| ULTIMATE.start_main_p6 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_74| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_74| ULTIMATE.start_main_p5) 1) (= .cse0 0))) [2019-01-07 14:25:30,711 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p6, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-01-07 14:25:30,757 INFO L273 TraceCheckUtils]: 0: Hoare triple {2470#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {2478#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))} is VALID [2019-01-07 14:25:30,759 INFO L273 TraceCheckUtils]: 1: Hoare triple {2478#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {2482#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2019-01-07 14:25:30,762 INFO L273 TraceCheckUtils]: 2: Hoare triple {2482#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {2486#(and (exists ((ULTIMATE.start_main_p6 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2019-01-07 14:25:30,763 INFO L273 TraceCheckUtils]: 3: Hoare triple {2486#(and (exists ((ULTIMATE.start_main_p6 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} assume !(#memory_int[main_p1] >= 0); {2471#false} is VALID [2019-01-07 14:25:30,764 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:25:30,764 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-01-07 14:25:30,799 INFO L273 TraceCheckUtils]: 3: Hoare triple {2474#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {2471#false} is VALID [2019-01-07 14:25:30,800 INFO L273 TraceCheckUtils]: 2: Hoare triple {2493#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {2474#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:25:30,802 INFO L273 TraceCheckUtils]: 1: Hoare triple {2497#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {2493#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:25:30,804 INFO L273 TraceCheckUtils]: 0: Hoare triple {2470#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {2497#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:25:30,805 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:25:30,830 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-01-07 14:25:30,831 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2019-01-07 14:25:30,831 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-01-07 14:25:30,831 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-01-07 14:25:30,831 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-01-07 14:25:30,831 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-01-07 14:25:30,847 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:25:30,847 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-01-07 14:25:30,847 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-01-07 14:25:30,848 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=54, Unknown=0, NotChecked=0, Total=90 [2019-01-07 14:25:30,848 INFO L87 Difference]: Start difference. First operand 42 states and 180 transitions. Second operand 8 states. [2019-01-07 14:25:35,048 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:25:35,048 INFO L93 Difference]: Finished difference Result 96 states and 313 transitions. [2019-01-07 14:25:35,048 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-01-07 14:25:35,048 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-01-07 14:25:35,048 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-01-07 14:25:35,048 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-01-07 14:25:35,049 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 99 transitions. [2019-01-07 14:25:35,049 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-01-07 14:25:35,049 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 99 transitions. [2019-01-07 14:25:35,050 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 99 transitions. [2019-01-07 14:25:35,220 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:25:35,221 INFO L225 Difference]: With dead ends: 96 [2019-01-07 14:25:35,222 INFO L226 Difference]: Without dead ends: 93 [2019-01-07 14:25:35,222 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 23 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=52, Invalid=80, Unknown=0, NotChecked=0, Total=132 [2019-01-07 14:25:35,222 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 93 states. [2019-01-07 14:25:35,678 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 93 to 55. [2019-01-07 14:25:35,678 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-01-07 14:25:35,678 INFO L82 GeneralOperation]: Start isEquivalent. First operand 93 states. Second operand 55 states. [2019-01-07 14:25:35,679 INFO L74 IsIncluded]: Start isIncluded. First operand 93 states. Second operand 55 states. [2019-01-07 14:25:35,679 INFO L87 Difference]: Start difference. First operand 93 states. Second operand 55 states. [2019-01-07 14:25:35,683 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:25:35,683 INFO L93 Difference]: Finished difference Result 93 states and 305 transitions. [2019-01-07 14:25:35,683 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 305 transitions. [2019-01-07 14:25:35,684 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:25:35,684 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:25:35,684 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 93 states. [2019-01-07 14:25:35,684 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 93 states. [2019-01-07 14:25:35,687 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:25:35,688 INFO L93 Difference]: Finished difference Result 93 states and 305 transitions. [2019-01-07 14:25:35,688 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 305 transitions. [2019-01-07 14:25:35,688 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:25:35,688 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:25:35,689 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-01-07 14:25:35,689 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-01-07 14:25:35,689 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 55 states. [2019-01-07 14:25:35,691 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 250 transitions. [2019-01-07 14:25:35,691 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 250 transitions. Word has length 4 [2019-01-07 14:25:35,691 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-01-07 14:25:35,691 INFO L480 AbstractCegarLoop]: Abstraction has 55 states and 250 transitions. [2019-01-07 14:25:35,691 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-01-07 14:25:35,691 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 250 transitions. [2019-01-07 14:25:35,691 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-01-07 14:25:35,692 INFO L394 BasicCegarLoop]: Found error trace [2019-01-07 14:25:35,692 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-01-07 14:25:35,692 INFO L423 AbstractCegarLoop]: === Iteration 13 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-01-07 14:25:35,692 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:25:35,692 INFO L82 PathProgramCache]: Analyzing trace with hash 945000, now seen corresponding path program 1 times [2019-01-07 14:25:35,692 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-01-07 14:25:35,693 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:25:35,693 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:25:35,693 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:25:35,693 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-01-07 14:25:35,703 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:25:35,830 INFO L273 TraceCheckUtils]: 0: Hoare triple {2909#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {2911#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2019-01-07 14:25:35,832 INFO L273 TraceCheckUtils]: 1: Hoare triple {2911#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {2912#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2019-01-07 14:25:35,833 INFO L273 TraceCheckUtils]: 2: Hoare triple {2912#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {2913#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-01-07 14:25:35,834 INFO L273 TraceCheckUtils]: 3: Hoare triple {2913#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {2910#false} is VALID [2019-01-07 14:25:35,834 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:25:35,835 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:25:35,835 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-01-07 14:25:35,835 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-01-07 14:25:35,835 INFO L207 CegarAbsIntRunner]: [0], [10], [22], [27] [2019-01-07 14:25:35,837 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-01-07 14:25:35,837 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-01-07 14:25:35,854 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-01-07 14:25:35,855 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 2. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-01-07 14:25:35,855 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:25:35,855 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-01-07 14:25:35,855 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:25:35,855 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 [2019-01-07 14:25:35,864 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:25:35,864 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-01-07 14:25:35,870 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:25:35,873 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:25:35,874 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-01-07 14:25:35,949 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2019-01-07 14:25:35,960 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2019-01-07 14:25:35,973 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:35,975 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25: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 26 treesize of output 40 [2019-01-07 14:25:35,994 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:35,996 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:35,997 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:35,998 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2019-01-07 14:25:36,022 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:36,024 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:36,025 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:36,027 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:36,028 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2019-01-07 14:25:36,067 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2019-01-07 14:25:36,074 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2019-01-07 14:25:36,111 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:36,140 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:36,163 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:36,183 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:36,202 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:36,259 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:36,260 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2019-01-07 14:25:36,315 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:36,317 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:36,318 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2019-01-07 14:25:36,371 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:36,373 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:36,374 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:36,375 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:36,376 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2019-01-07 14:25:36,442 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:36,444 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:36,445 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:36,446 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:36,447 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:36,448 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:36,449 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2019-01-07 14:25:36,451 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2019-01-07 14:25:36,468 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:36,484 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:36,501 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:36,543 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-01-07 14:25:36,543 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:72, output treesize:71 [2019-01-07 14:25:36,559 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:25:36,559 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_77|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p6, |v_#valid_19|]. (let ((.cse2 (store |v_#valid_19| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p3 1))) (and (= |#memory_int| (store (store (store (store (store (store |v_#memory_int_77| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0)) (= (select .cse0 ULTIMATE.start_main_p4) 0) (= 0 (select .cse1 ULTIMATE.start_main_p3)) (= 0 (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= (select .cse2 ULTIMATE.start_main_p2) 0))))) [2019-01-07 14:25:36,559 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-01-07 14:25:36,656 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:36,657 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 [2019-01-07 14:25:36,660 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:25:36,699 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. [2019-01-07 14:25:36,700 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2019-01-07 14:25:38,002 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:25:38,003 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_78|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_78| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_78| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_78| ULTIMATE.start_main_p2) 0) (= 0 .cse0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_78| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_78| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_78| ULTIMATE.start_main_p5 (+ .cse0 1))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2019-01-07 14:25:38,003 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-01-07 14:25:38,071 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:38,072 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:38,074 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:38,075 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:38,076 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:38,077 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:38,078 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:38,080 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 86 [2019-01-07 14:25:38,088 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:25:38,132 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. [2019-01-07 14:25:38,133 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:60, output treesize:38 [2019-01-07 14:25:38,188 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:25:38,188 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_79|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_79| ULTIMATE.start_main_p2))) (and (= |#memory_int| (store |v_#memory_int_79| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_79| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_79| ULTIMATE.start_main_p5) 1) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_79| ULTIMATE.start_main_p1) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_79| ULTIMATE.start_main_p3) 0))) [2019-01-07 14:25:38,188 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-01-07 14:25:38,219 INFO L273 TraceCheckUtils]: 0: Hoare triple {2909#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {2917#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-01-07 14:25:38,221 INFO L273 TraceCheckUtils]: 1: Hoare triple {2917#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {2921#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2019-01-07 14:25:38,224 INFO L273 TraceCheckUtils]: 2: Hoare triple {2921#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {2925#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2019-01-07 14:25:38,225 INFO L273 TraceCheckUtils]: 3: Hoare triple {2925#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} assume !(#memory_int[main_p1] >= 0); {2910#false} is VALID [2019-01-07 14:25:38,225 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:25:38,225 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-01-07 14:25:38,266 INFO L273 TraceCheckUtils]: 3: Hoare triple {2929#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {2910#false} is VALID [2019-01-07 14:25:38,267 INFO L273 TraceCheckUtils]: 2: Hoare triple {2933#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {2929#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:25:38,269 INFO L273 TraceCheckUtils]: 1: Hoare triple {2937#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {2933#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:25:38,272 INFO L273 TraceCheckUtils]: 0: Hoare triple {2909#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {2937#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:25:38,272 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:25:38,292 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-01-07 14:25:38,293 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-01-07 14:25:38,293 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-01-07 14:25:38,293 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-01-07 14:25:38,293 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-01-07 14:25:38,293 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-01-07 14:25:38,307 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:25:38,307 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-01-07 14:25:38,307 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-01-07 14:25:38,307 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=70, Unknown=0, NotChecked=0, Total=110 [2019-01-07 14:25:38,307 INFO L87 Difference]: Start difference. First operand 55 states and 250 transitions. Second operand 8 states. [2019-01-07 14:25:42,052 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:25:42,052 INFO L93 Difference]: Finished difference Result 84 states and 299 transitions. [2019-01-07 14:25:42,052 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-01-07 14:25:42,052 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-01-07 14:25:42,052 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-01-07 14:25:42,052 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-01-07 14:25:42,053 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 72 transitions. [2019-01-07 14:25:42,053 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-01-07 14:25:42,054 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 72 transitions. [2019-01-07 14:25:42,054 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 72 transitions. [2019-01-07 14:25:42,517 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:25:42,519 INFO L225 Difference]: With dead ends: 84 [2019-01-07 14:25:42,519 INFO L226 Difference]: Without dead ends: 82 [2019-01-07 14:25:42,520 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=69, Invalid=113, Unknown=0, NotChecked=0, Total=182 [2019-01-07 14:25:42,520 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 82 states. [2019-01-07 14:25:42,850 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 82 to 58. [2019-01-07 14:25:42,850 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-01-07 14:25:42,850 INFO L82 GeneralOperation]: Start isEquivalent. First operand 82 states. Second operand 58 states. [2019-01-07 14:25:42,851 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand 58 states. [2019-01-07 14:25:42,851 INFO L87 Difference]: Start difference. First operand 82 states. Second operand 58 states. [2019-01-07 14:25:42,854 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:25:42,854 INFO L93 Difference]: Finished difference Result 82 states and 295 transitions. [2019-01-07 14:25:42,854 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 295 transitions. [2019-01-07 14:25:42,854 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:25:42,855 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:25:42,855 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 82 states. [2019-01-07 14:25:42,855 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 82 states. [2019-01-07 14:25:42,857 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:25:42,857 INFO L93 Difference]: Finished difference Result 82 states and 295 transitions. [2019-01-07 14:25:42,857 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 295 transitions. [2019-01-07 14:25:42,858 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:25:42,858 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:25:42,858 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-01-07 14:25:42,858 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-01-07 14:25:42,858 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 58 states. [2019-01-07 14:25:42,860 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 270 transitions. [2019-01-07 14:25:42,860 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 270 transitions. Word has length 4 [2019-01-07 14:25:42,860 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-01-07 14:25:42,860 INFO L480 AbstractCegarLoop]: Abstraction has 58 states and 270 transitions. [2019-01-07 14:25:42,861 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-01-07 14:25:42,861 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 270 transitions. [2019-01-07 14:25:42,861 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-01-07 14:25:42,861 INFO L394 BasicCegarLoop]: Found error trace [2019-01-07 14:25:42,861 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-01-07 14:25:42,861 INFO L423 AbstractCegarLoop]: === Iteration 14 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-01-07 14:25:42,862 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:25:42,862 INFO L82 PathProgramCache]: Analyzing trace with hash 946922, now seen corresponding path program 1 times [2019-01-07 14:25:42,862 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-01-07 14:25:42,863 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:25:42,863 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:25:42,863 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:25:42,863 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-01-07 14:25:42,870 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:25:43,086 INFO L273 TraceCheckUtils]: 0: Hoare triple {3323#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {3325#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} is VALID [2019-01-07 14:25:43,087 INFO L273 TraceCheckUtils]: 1: Hoare triple {3325#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {3326#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2019-01-07 14:25:43,088 INFO L273 TraceCheckUtils]: 2: Hoare triple {3326#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3327#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-01-07 14:25:43,089 INFO L273 TraceCheckUtils]: 3: Hoare triple {3327#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {3324#false} is VALID [2019-01-07 14:25:43,089 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:25:43,090 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:25:43,090 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-01-07 14:25:43,090 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-01-07 14:25:43,090 INFO L207 CegarAbsIntRunner]: [0], [10], [24], [27] [2019-01-07 14:25:43,093 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-01-07 14:25:43,093 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-01-07 14:25:43,103 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-01-07 14:25:43,103 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 2. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-01-07 14:25:43,103 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:25:43,103 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-01-07 14:25:43,104 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:25:43,104 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 [2019-01-07 14:25:43,114 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:25:43,114 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-01-07 14:25:43,119 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:25:43,130 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:25:43,131 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-01-07 14:25:43,197 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2019-01-07 14:25:43,205 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2019-01-07 14:25:43,215 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:43,217 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:43,218 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2019-01-07 14:25:43,354 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:43,355 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:43,357 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:43,358 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2019-01-07 14:25:43,375 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:43,377 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:43,378 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:43,379 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:43,380 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2019-01-07 14:25:43,403 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:43,405 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:43,406 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:43,408 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:43,409 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:43,410 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2019-01-07 14:25:43,415 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2019-01-07 14:25:43,458 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:43,483 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:43,505 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:43,524 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:43,540 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:43,580 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:43,581 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2019-01-07 14:25:43,644 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:43,645 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:43,646 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2019-01-07 14:25:43,720 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:43,721 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:43,723 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:43,724 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:43,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 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2019-01-07 14:25:43,821 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:43,822 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:43,824 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:43,825 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:43,826 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:43,827 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:43,828 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2019-01-07 14:25:43,936 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:43,938 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:43,939 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:43,940 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:43,941 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:43,942 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:43,944 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:43,945 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:43,946 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2019-01-07 14:25:43,950 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2019-01-07 14:25:43,979 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:44,009 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:44,039 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:44,067 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:44,123 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-01-07 14:25:44,123 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 5 variables, input treesize:92, output treesize:91 [2019-01-07 14:25:44,139 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:25:44,139 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_82|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, |v_#valid_20|]. (let ((.cse0 (store |v_#valid_20| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse0 ULTIMATE.start_main_p2 1))) (let ((.cse3 (store .cse2 ULTIMATE.start_main_p3 1))) (let ((.cse1 (store .cse3 ULTIMATE.start_main_p4 1))) (and (= (select .cse0 ULTIMATE.start_main_p2) 0) (= (select .cse1 ULTIMATE.start_main_p5) 0) (= (store (store (store (store (store (store |v_#memory_int_82| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= 0 (select .cse2 ULTIMATE.start_main_p3)) (= 0 (select .cse3 ULTIMATE.start_main_p4)) (= (select (store .cse1 ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6) 0)))))) [2019-01-07 14:25:44,139 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-01-07 14:25:44,260 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:44,261 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 97 [2019-01-07 14:25:44,267 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:25:44,322 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. [2019-01-07 14:25:44,323 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:101, output treesize:71 [2019-01-07 14:25:45,026 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:25:45,026 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_83|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_83| ULTIMATE.start_main_p6))) (and (= 0 .cse0) (= (select |v_#memory_int_83| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_83| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_83| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_83| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_83| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_83| ULTIMATE.start_main_p6 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2019-01-07 14:25:45,026 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-01-07 14:25:45,186 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:45,187 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:45,188 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:45,188 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:45,189 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:45,190 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:45,191 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:45,191 INFO L683 Elim1Store]: detected equality via solver [2019-01-07 14:25:45,193 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 112 [2019-01-07 14:25:45,236 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:25:45,312 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2019-01-07 14:25:45,313 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:83, output treesize:59 [2019-01-07 14:25:47,546 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:25:47,547 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_84|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p6, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_84| ULTIMATE.start_main_p2))) (and (= (+ (select |v_#memory_int_84| ULTIMATE.start_main_p6) 1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_84| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_84| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_84| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_84| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_84| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))))) [2019-01-07 14:25:47,547 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-01-07 14:25:47,599 INFO L273 TraceCheckUtils]: 0: Hoare triple {3323#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {3331#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2019-01-07 14:25:47,602 INFO L273 TraceCheckUtils]: 1: Hoare triple {3331#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {3335#(and (exists ((ULTIMATE.start_main_p6 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-01-07 14:25:47,604 INFO L273 TraceCheckUtils]: 2: Hoare triple {3335#(and (exists ((ULTIMATE.start_main_p6 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3339#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))))} is VALID [2019-01-07 14:25:47,605 INFO L273 TraceCheckUtils]: 3: Hoare triple {3339#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))))} assume !(#memory_int[main_p1] >= 0); {3324#false} is VALID [2019-01-07 14:25:47,606 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:25:47,606 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-01-07 14:25:47,653 INFO L273 TraceCheckUtils]: 3: Hoare triple {3343#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {3324#false} is VALID [2019-01-07 14:25:47,654 INFO L273 TraceCheckUtils]: 2: Hoare triple {3347#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3343#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:25:47,656 INFO L273 TraceCheckUtils]: 1: Hoare triple {3351#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {3347#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:25:47,658 INFO L273 TraceCheckUtils]: 0: Hoare triple {3323#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {3351#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:25:47,658 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:25:47,678 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-01-07 14:25:47,679 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-01-07 14:25:47,679 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-01-07 14:25:47,679 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-01-07 14:25:47,679 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-01-07 14:25:47,679 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-01-07 14:25:47,693 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:25:47,693 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-01-07 14:25:47,693 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-01-07 14:25:47,693 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=67, Unknown=0, NotChecked=0, Total=110 [2019-01-07 14:25:47,694 INFO L87 Difference]: Start difference. First operand 58 states and 270 transitions. Second operand 8 states. [2019-01-07 14:25:52,376 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:25:52,377 INFO L93 Difference]: Finished difference Result 91 states and 313 transitions. [2019-01-07 14:25:52,377 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-01-07 14:25:52,377 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-01-07 14:25:52,377 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-01-07 14:25:52,377 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-01-07 14:25:52,378 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 74 transitions. [2019-01-07 14:25:52,378 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-01-07 14:25:52,378 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 74 transitions. [2019-01-07 14:25:52,379 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 74 transitions. [2019-01-07 14:25:52,598 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:25:52,600 INFO L225 Difference]: With dead ends: 91 [2019-01-07 14:25:52,600 INFO L226 Difference]: Without dead ends: 89 [2019-01-07 14:25:52,600 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=61, Invalid=95, Unknown=0, NotChecked=0, Total=156 [2019-01-07 14:25:52,600 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2019-01-07 14:25:53,399 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 59. [2019-01-07 14:25:53,399 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-01-07 14:25:53,399 INFO L82 GeneralOperation]: Start isEquivalent. First operand 89 states. Second operand 59 states. [2019-01-07 14:25:53,399 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand 59 states. [2019-01-07 14:25:53,399 INFO L87 Difference]: Start difference. First operand 89 states. Second operand 59 states. [2019-01-07 14:25:53,403 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:25:53,403 INFO L93 Difference]: Finished difference Result 89 states and 310 transitions. [2019-01-07 14:25:53,403 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 310 transitions. [2019-01-07 14:25:53,403 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:25:53,403 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:25:53,403 INFO L74 IsIncluded]: Start isIncluded. First operand 59 states. Second operand 89 states. [2019-01-07 14:25:53,403 INFO L87 Difference]: Start difference. First operand 59 states. Second operand 89 states. [2019-01-07 14:25:53,406 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:25:53,406 INFO L93 Difference]: Finished difference Result 89 states and 310 transitions. [2019-01-07 14:25:53,406 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 310 transitions. [2019-01-07 14:25:53,406 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:25:53,406 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:25:53,406 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-01-07 14:25:53,406 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-01-07 14:25:53,406 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 59 states. [2019-01-07 14:25:53,408 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 59 states to 59 states and 277 transitions. [2019-01-07 14:25:53,408 INFO L78 Accepts]: Start accepts. Automaton has 59 states and 277 transitions. Word has length 4 [2019-01-07 14:25:53,408 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-01-07 14:25:53,408 INFO L480 AbstractCegarLoop]: Abstraction has 59 states and 277 transitions. [2019-01-07 14:25:53,409 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-01-07 14:25:53,409 INFO L276 IsEmpty]: Start isEmpty. Operand 59 states and 277 transitions. [2019-01-07 14:25:53,409 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-01-07 14:25:53,409 INFO L394 BasicCegarLoop]: Found error trace [2019-01-07 14:25:53,409 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-01-07 14:25:53,409 INFO L423 AbstractCegarLoop]: === Iteration 15 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-01-07 14:25:53,410 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:25:53,410 INFO L82 PathProgramCache]: Analyzing trace with hash 934028, now seen corresponding path program 1 times [2019-01-07 14:25:53,410 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-01-07 14:25:53,411 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:25:53,411 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:25:53,411 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:25:53,411 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-01-07 14:25:53,415 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:25:53,488 INFO L273 TraceCheckUtils]: 0: Hoare triple {3759#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {3761#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-01-07 14:25:53,489 INFO L273 TraceCheckUtils]: 1: Hoare triple {3761#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3762#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-01-07 14:25:53,490 INFO L273 TraceCheckUtils]: 2: Hoare triple {3762#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {3762#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-01-07 14:25:53,490 INFO L273 TraceCheckUtils]: 3: Hoare triple {3762#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {3760#false} is VALID [2019-01-07 14:25:53,491 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:25:53,491 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:25:53,491 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-01-07 14:25:53,491 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-01-07 14:25:53,491 INFO L207 CegarAbsIntRunner]: [0], [10], [28], [29] [2019-01-07 14:25:53,493 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-01-07 14:25:53,493 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-01-07 14:25:53,506 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-01-07 14:25:53,506 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 2. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2019-01-07 14:25:53,506 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:25:53,507 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-01-07 14:25:53,507 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:25:53,507 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 [2019-01-07 14:25:53,535 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:25:53,535 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-01-07 14:25:53,540 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:25:53,546 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:25:53,546 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-01-07 14:25:53,565 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2019-01-07 14:25:53,576 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 26 [2019-01-07 14:25:53,585 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:53,587 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:53,587 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 36 [2019-01-07 14:25:53,600 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:53,602 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:53,604 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:53,605 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 5 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 50 [2019-01-07 14:25:53,618 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:53,621 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:53,622 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:53,623 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:53,624 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 68 [2019-01-07 14:25:53,648 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 9 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 67 [2019-01-07 14:25:53,652 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2019-01-07 14:25:53,685 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:53,706 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:53,725 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:53,739 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:53,755 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:53,784 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 39 [2019-01-07 14:25:53,810 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:53,813 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:53,813 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 49 [2019-01-07 14:25:53,873 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:53,874 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:53,876 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:53,877 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:53,878 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 57 [2019-01-07 14:25:53,940 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:53,941 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:53,941 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:53,942 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:53,943 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:53,945 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:53,946 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 37 [2019-01-07 14:25:53,949 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2019-01-07 14:25:53,965 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:53,982 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:53,999 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:25:54,040 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 2 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2019-01-07 14:25:54,040 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 7 variables, input treesize:64, output treesize:67 [2019-01-07 14:25:54,124 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:25:54,125 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_87|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_21|]. (let ((.cse0 (store (store |v_#valid_21| ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p3 1))) (and (= (select .cse0 ULTIMATE.start_main_p3) 0) (= (store (store (store (store (store (store |v_#memory_int_87| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0) (= 0 (select .cse1 ULTIMATE.start_main_p4))))) [2019-01-07 14:25:54,125 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p1, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-01-07 14:25:54,217 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:25:54,227 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 36 treesize of output 72 [2019-01-07 14:25:54,230 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 2 xjuncts. [2019-01-07 14:25:54,345 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 7 dim-0 vars, and 2 xjuncts. [2019-01-07 14:25:54,345 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:72, output treesize:92 [2019-01-07 14:25:56,398 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:25:56,398 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_88|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_88| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_88| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_88| ULTIMATE.start_main_p4) 0) (= .cse0 0) (= (select |v_#memory_int_88| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (store |v_#memory_int_88| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_88| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2019-01-07 14:25:56,398 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1, v_prenex_3, v_prenex_1, v_prenex_2]. (let ((.cse0 (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)))) (or (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) .cse0 (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4))) (and (not (= v_prenex_3 v_prenex_1)) (not (= v_prenex_3 v_prenex_2)) (= 0 (select |#memory_int| v_prenex_2)) (not (= v_prenex_3 ULTIMATE.start_main_p2)) .cse0 (not (= ULTIMATE.start_main_p2 v_prenex_1)) (not (= v_prenex_2 v_prenex_1)) (= (select |#memory_int| v_prenex_3) 0) (= (select |#memory_int| v_prenex_1) 0)))) [2019-01-07 14:25:58,772 WARN L181 SmtUtils]: Spent 2.33 s on a formula simplification. DAG size of input: 57 DAG size of output: 29 [2019-01-07 14:25:58,800 INFO L273 TraceCheckUtils]: 0: Hoare triple {3759#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {3766#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-01-07 14:25:58,803 INFO L273 TraceCheckUtils]: 1: Hoare triple {3766#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3770#(and (exists ((v_prenex_2 Int) (v_prenex_3 Int) (v_prenex_1 Int)) (and (not (= v_prenex_3 v_prenex_2)) (= (select |#memory_int| v_prenex_1) 0) (= (select |#memory_int| v_prenex_3) 0) (not (= ULTIMATE.start_main_p2 v_prenex_1)) (not (= v_prenex_3 v_prenex_1)) (= 0 (select |#memory_int| v_prenex_2)) (not (= v_prenex_2 v_prenex_1)) (not (= v_prenex_3 ULTIMATE.start_main_p2)))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2019-01-07 14:25:58,803 INFO L273 TraceCheckUtils]: 2: Hoare triple {3770#(and (exists ((v_prenex_2 Int) (v_prenex_3 Int) (v_prenex_1 Int)) (and (not (= v_prenex_3 v_prenex_2)) (= (select |#memory_int| v_prenex_1) 0) (= (select |#memory_int| v_prenex_3) 0) (not (= ULTIMATE.start_main_p2 v_prenex_1)) (not (= v_prenex_3 v_prenex_1)) (= 0 (select |#memory_int| v_prenex_2)) (not (= v_prenex_2 v_prenex_1)) (not (= v_prenex_3 ULTIMATE.start_main_p2)))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume #memory_int[main_p1] >= 0; {3770#(and (exists ((v_prenex_2 Int) (v_prenex_3 Int) (v_prenex_1 Int)) (and (not (= v_prenex_3 v_prenex_2)) (= (select |#memory_int| v_prenex_1) 0) (= (select |#memory_int| v_prenex_3) 0) (not (= ULTIMATE.start_main_p2 v_prenex_1)) (not (= v_prenex_3 v_prenex_1)) (= 0 (select |#memory_int| v_prenex_2)) (not (= v_prenex_2 v_prenex_1)) (not (= v_prenex_3 ULTIMATE.start_main_p2)))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2019-01-07 14:25:58,804 INFO L273 TraceCheckUtils]: 3: Hoare triple {3770#(and (exists ((v_prenex_2 Int) (v_prenex_3 Int) (v_prenex_1 Int)) (and (not (= v_prenex_3 v_prenex_2)) (= (select |#memory_int| v_prenex_1) 0) (= (select |#memory_int| v_prenex_3) 0) (not (= ULTIMATE.start_main_p2 v_prenex_1)) (not (= v_prenex_3 v_prenex_1)) (= 0 (select |#memory_int| v_prenex_2)) (not (= v_prenex_2 v_prenex_1)) (not (= v_prenex_3 ULTIMATE.start_main_p2)))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume !(#memory_int[main_p2] <= 0); {3760#false} is VALID [2019-01-07 14:25:58,804 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:25:58,804 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-01-07 14:25:58,817 INFO L273 TraceCheckUtils]: 3: Hoare triple {3762#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {3760#false} is VALID [2019-01-07 14:25:58,818 INFO L273 TraceCheckUtils]: 2: Hoare triple {3762#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {3762#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-01-07 14:25:58,822 INFO L273 TraceCheckUtils]: 1: Hoare triple {3783#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3762#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-01-07 14:25:58,824 INFO L273 TraceCheckUtils]: 0: Hoare triple {3759#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {3783#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2019-01-07 14:25:58,824 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:25:58,843 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 2 imperfect interpolant sequences. [2019-01-07 14:25:58,843 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2, 2] total 5 [2019-01-07 14:25:58,843 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-01-07 14:25:58,843 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 4 [2019-01-07 14:25:58,843 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-01-07 14:25:58,843 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2019-01-07 14:25:58,848 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 4 edges. 4 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:25:58,848 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2019-01-07 14:25:58,848 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2019-01-07 14:25:58,848 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=23, Unknown=0, NotChecked=0, Total=42 [2019-01-07 14:25:58,849 INFO L87 Difference]: Start difference. First operand 59 states and 277 transitions. Second operand 4 states. [2019-01-07 14:25:59,421 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:25:59,422 INFO L93 Difference]: Finished difference Result 90 states and 454 transitions. [2019-01-07 14:25:59,422 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2019-01-07 14:25:59,422 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 4 [2019-01-07 14:25:59,422 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-01-07 14:25:59,422 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-01-07 14:25:59,422 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 38 transitions. [2019-01-07 14:25:59,423 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-01-07 14:25:59,423 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 38 transitions. [2019-01-07 14:25:59,423 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 38 transitions. [2019-01-07 14:25:59,458 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:25:59,461 INFO L225 Difference]: With dead ends: 90 [2019-01-07 14:25:59,462 INFO L226 Difference]: Without dead ends: 89 [2019-01-07 14:25:59,462 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 2.4s TimeCoverageRelationStatistics Valid=19, Invalid=23, Unknown=0, NotChecked=0, Total=42 [2019-01-07 14:25:59,462 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 89 states. [2019-01-07 14:25:59,969 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 89 to 83. [2019-01-07 14:25:59,969 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-01-07 14:25:59,969 INFO L82 GeneralOperation]: Start isEquivalent. First operand 89 states. Second operand 83 states. [2019-01-07 14:25:59,970 INFO L74 IsIncluded]: Start isIncluded. First operand 89 states. Second operand 83 states. [2019-01-07 14:25:59,970 INFO L87 Difference]: Start difference. First operand 89 states. Second operand 83 states. [2019-01-07 14:25:59,974 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:25:59,974 INFO L93 Difference]: Finished difference Result 89 states and 453 transitions. [2019-01-07 14:25:59,974 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 453 transitions. [2019-01-07 14:25:59,975 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:25:59,975 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:25:59,975 INFO L74 IsIncluded]: Start isIncluded. First operand 83 states. Second operand 89 states. [2019-01-07 14:25:59,975 INFO L87 Difference]: Start difference. First operand 83 states. Second operand 89 states. [2019-01-07 14:25:59,977 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:25:59,978 INFO L93 Difference]: Finished difference Result 89 states and 453 transitions. [2019-01-07 14:25:59,978 INFO L276 IsEmpty]: Start isEmpty. Operand 89 states and 453 transitions. [2019-01-07 14:25:59,978 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:25:59,978 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:25:59,978 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-01-07 14:25:59,978 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-01-07 14:25:59,978 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 83 states. [2019-01-07 14:25:59,981 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 449 transitions. [2019-01-07 14:25:59,981 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 449 transitions. Word has length 4 [2019-01-07 14:25:59,981 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-01-07 14:25:59,981 INFO L480 AbstractCegarLoop]: Abstraction has 83 states and 449 transitions. [2019-01-07 14:25:59,981 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2019-01-07 14:25:59,981 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 449 transitions. [2019-01-07 14:25:59,982 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-01-07 14:25:59,982 INFO L394 BasicCegarLoop]: Found error trace [2019-01-07 14:25:59,982 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-01-07 14:25:59,982 INFO L423 AbstractCegarLoop]: === Iteration 16 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-01-07 14:25:59,982 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:25:59,982 INFO L82 PathProgramCache]: Analyzing trace with hash 933592, now seen corresponding path program 1 times [2019-01-07 14:25:59,983 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-01-07 14:25:59,983 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:25:59,983 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:25:59,983 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:25:59,983 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-01-07 14:25:59,990 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:26:00,093 INFO L273 TraceCheckUtils]: 0: Hoare triple {4257#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {4259#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2019-01-07 14:26:00,094 INFO L273 TraceCheckUtils]: 1: Hoare triple {4259#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {4260#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-01-07 14:26:00,095 INFO L273 TraceCheckUtils]: 2: Hoare triple {4260#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4261#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-01-07 14:26:00,096 INFO L273 TraceCheckUtils]: 3: Hoare triple {4261#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {4258#false} is VALID [2019-01-07 14:26:00,096 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:26:00,096 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:26:00,097 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-01-07 14:26:00,097 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-01-07 14:26:00,097 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [27] [2019-01-07 14:26:00,098 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-01-07 14:26:00,098 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-01-07 14:26:00,116 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-01-07 14:26:00,116 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 2. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-01-07 14:26:00,116 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:26:00,116 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-01-07 14:26:00,116 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:26:00,117 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 [2019-01-07 14:26:00,126 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:26:00,127 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-01-07 14:26:00,132 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:26:00,136 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:26:00,136 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-01-07 14:26:00,197 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:00,198 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2019-01-07 14:26:00,250 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:00,252 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:00,253 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2019-01-07 14:26:00,316 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:00,317 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:00,319 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:00,320 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:00,321 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2019-01-07 14:26:00,442 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:00,471 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:00,494 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:00,512 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:00,529 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:00,542 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:00,542 INFO L303 Elim1Store]: Index analysis took 144 ms [2019-01-07 14:26:00,543 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2019-01-07 14:26:00,554 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:00,578 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:00,603 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:00,628 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:00,667 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 4 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2019-01-07 14:26:00,676 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 7 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2019-01-07 14:26:00,692 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 9 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2019-01-07 14:26:00,710 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 10 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2019-01-07 14:26:00,750 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2019-01-07 14:26:00,777 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2019-01-07 14:26:00,781 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:00,811 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:00,833 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:00,852 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:00,868 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:00,882 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:00,925 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-01-07 14:26:00,925 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:72, output treesize:71 [2019-01-07 14:26:00,946 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:26:00,946 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_90|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_22|]. (let ((.cse0 (store |v_#valid_22| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p2 1))) (let ((.cse2 (store .cse1 ULTIMATE.start_main_p3 1))) (and (= |#memory_int| (store (store (store (store (store (store |v_#memory_int_90| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0)) (= (select .cse0 ULTIMATE.start_main_p2) 0) (= (select .cse1 ULTIMATE.start_main_p3) 0) (= 0 (select (store .cse2 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= 0 (select .cse2 ULTIMATE.start_main_p4)))))) [2019-01-07 14:26:00,947 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-01-07 14:26:01,109 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:01,110 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 [2019-01-07 14:26:01,117 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:01,161 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. [2019-01-07 14:26:01,161 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2019-01-07 14:26:01,284 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:26:01,284 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_91|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_91| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_91| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_91| ULTIMATE.start_main_p3) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_91| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_91| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (store |v_#memory_int_91| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|))) [2019-01-07 14:26:01,284 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-01-07 14:26:01,378 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:01,380 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:01,381 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:01,382 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:01,383 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:01,384 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:01,385 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:01,386 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 [2019-01-07 14:26:01,393 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:01,432 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. [2019-01-07 14:26:01,433 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:62, output treesize:40 [2019-01-07 14:26:01,518 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:26:01,518 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_92|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_92| ULTIMATE.start_main_p3))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (+ (select |v_#memory_int_92| ULTIMATE.start_main_p2) 1) 0) (= (store |v_#memory_int_92| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_92| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_92| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_92| ULTIMATE.start_main_p4) 0))) [2019-01-07 14:26:01,518 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-01-07 14:26:01,552 INFO L273 TraceCheckUtils]: 0: Hoare triple {4257#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {4265#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2019-01-07 14:26:01,554 INFO L273 TraceCheckUtils]: 1: Hoare triple {4265#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {4269#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p2 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-01-07 14:26:01,557 INFO L273 TraceCheckUtils]: 2: Hoare triple {4269#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p2 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4273#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p2 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} is VALID [2019-01-07 14:26:01,558 INFO L273 TraceCheckUtils]: 3: Hoare triple {4273#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p2 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} assume !(#memory_int[main_p1] >= 0); {4258#false} is VALID [2019-01-07 14:26:01,559 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:26:01,559 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-01-07 14:26:01,606 INFO L273 TraceCheckUtils]: 3: Hoare triple {4277#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {4258#false} is VALID [2019-01-07 14:26:01,608 INFO L273 TraceCheckUtils]: 2: Hoare triple {4281#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4277#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:26:01,609 INFO L273 TraceCheckUtils]: 1: Hoare triple {4285#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {4281#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:26:01,611 INFO L273 TraceCheckUtils]: 0: Hoare triple {4257#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {4285#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:26:01,612 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:26:01,632 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-01-07 14:26:01,632 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-01-07 14:26:01,632 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-01-07 14:26:01,632 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-01-07 14:26:01,632 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-01-07 14:26:01,632 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-01-07 14:26:01,645 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:26:01,646 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-01-07 14:26:01,646 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-01-07 14:26:01,646 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2019-01-07 14:26:01,646 INFO L87 Difference]: Start difference. First operand 83 states and 449 transitions. Second operand 8 states. [2019-01-07 14:26:03,673 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:26:03,674 INFO L93 Difference]: Finished difference Result 121 states and 532 transitions. [2019-01-07 14:26:03,674 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-01-07 14:26:03,674 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-01-07 14:26:03,674 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-01-07 14:26:03,674 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-01-07 14:26:03,675 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 73 transitions. [2019-01-07 14:26:03,675 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-01-07 14:26:03,675 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 73 transitions. [2019-01-07 14:26:03,675 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 73 transitions. [2019-01-07 14:26:03,781 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:26:03,784 INFO L225 Difference]: With dead ends: 121 [2019-01-07 14:26:03,784 INFO L226 Difference]: Without dead ends: 119 [2019-01-07 14:26:03,785 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 [2019-01-07 14:26:03,785 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 119 states. [2019-01-07 14:26:04,670 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 119 to 91. [2019-01-07 14:26:04,670 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-01-07 14:26:04,671 INFO L82 GeneralOperation]: Start isEquivalent. First operand 119 states. Second operand 91 states. [2019-01-07 14:26:04,671 INFO L74 IsIncluded]: Start isIncluded. First operand 119 states. Second operand 91 states. [2019-01-07 14:26:04,671 INFO L87 Difference]: Start difference. First operand 119 states. Second operand 91 states. [2019-01-07 14:26:04,674 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:26:04,674 INFO L93 Difference]: Finished difference Result 119 states and 524 transitions. [2019-01-07 14:26:04,674 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 524 transitions. [2019-01-07 14:26:04,675 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:26:04,675 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:26:04,675 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand 119 states. [2019-01-07 14:26:04,675 INFO L87 Difference]: Start difference. First operand 91 states. Second operand 119 states. [2019-01-07 14:26:04,678 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:26:04,678 INFO L93 Difference]: Finished difference Result 119 states and 524 transitions. [2019-01-07 14:26:04,678 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 524 transitions. [2019-01-07 14:26:04,678 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:26:04,678 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:26:04,678 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-01-07 14:26:04,678 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-01-07 14:26:04,679 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 91 states. [2019-01-07 14:26:04,681 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 493 transitions. [2019-01-07 14:26:04,681 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 493 transitions. Word has length 4 [2019-01-07 14:26:04,681 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-01-07 14:26:04,681 INFO L480 AbstractCegarLoop]: Abstraction has 91 states and 493 transitions. [2019-01-07 14:26:04,681 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-01-07 14:26:04,681 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 493 transitions. [2019-01-07 14:26:04,681 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-01-07 14:26:04,682 INFO L394 BasicCegarLoop]: Found error trace [2019-01-07 14:26:04,682 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-01-07 14:26:04,682 INFO L423 AbstractCegarLoop]: === Iteration 17 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-01-07 14:26:04,682 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:26:04,682 INFO L82 PathProgramCache]: Analyzing trace with hash 937872, now seen corresponding path program 1 times [2019-01-07 14:26:04,682 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-01-07 14:26:04,683 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:26:04,683 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:26:04,683 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:26:04,683 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-01-07 14:26:04,689 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:26:05,119 INFO L273 TraceCheckUtils]: 0: Hoare triple {4875#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {4877#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-01-07 14:26:05,132 INFO L273 TraceCheckUtils]: 1: Hoare triple {4877#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4878#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-01-07 14:26:05,144 INFO L273 TraceCheckUtils]: 2: Hoare triple {4878#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {4878#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-01-07 14:26:05,157 INFO L273 TraceCheckUtils]: 3: Hoare triple {4878#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {4876#false} is VALID [2019-01-07 14:26:05,158 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:26:05,158 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:26:05,158 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-01-07 14:26:05,159 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-01-07 14:26:05,159 INFO L207 CegarAbsIntRunner]: [0], [14], [28], [29] [2019-01-07 14:26:05,161 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-01-07 14:26:05,161 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-01-07 14:26:05,225 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-01-07 14:26:05,225 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 2. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2019-01-07 14:26:05,225 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:26:05,225 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-01-07 14:26:05,225 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:26:05,225 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 [2019-01-07 14:26:05,240 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:26:05,240 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-01-07 14:26:05,259 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:26:05,275 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:26:05,276 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-01-07 14:26:05,465 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2019-01-07 14:26:05,541 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 26 [2019-01-07 14:26:05,559 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:05,561 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:05,562 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 36 [2019-01-07 14:26:05,581 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:05,583 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:05,585 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:05,586 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 5 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 50 [2019-01-07 14:26:05,609 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:05,612 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:05,613 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:05,614 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:05,615 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 68 [2019-01-07 14:26:05,650 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 9 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 67 [2019-01-07 14:26:05,657 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:05,688 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:05,715 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:05,735 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:05,752 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:05,770 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:05,799 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 39 [2019-01-07 14:26:05,838 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:05,841 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:05,842 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 49 [2019-01-07 14:26:05,912 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:05,913 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:05,916 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:05,917 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:05,918 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 57 [2019-01-07 14:26:06,004 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:06,006 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:06,007 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:06,008 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:06,009 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:06,012 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:06,013 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 37 [2019-01-07 14:26:06,018 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:06,036 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:06,054 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:06,075 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:06,124 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 2 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-01-07 14:26:06,125 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 6 variables, input treesize:64, output treesize:67 [2019-01-07 14:26:06,148 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:26:06,149 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_95|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_23|]. (let ((.cse0 (store (store |v_#valid_23| ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p3 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p3)) (= (select .cse1 ULTIMATE.start_main_p4) 0) (= (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0) (= |#memory_int| (store (store (store (store (store (store |v_#memory_int_95| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0))))) [2019-01-07 14:26:06,149 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-01-07 14:26:06,289 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:06,290 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 68 [2019-01-07 14:26:06,299 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:06,342 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. [2019-01-07 14:26:06,343 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:72, output treesize:46 [2019-01-07 14:26:06,417 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:26:06,417 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_96|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_96| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_96| ULTIMATE.start_main_p4) 0) (= 0 (select |v_#memory_int_96| ULTIMATE.start_main_p5)) (= (store |v_#memory_int_96| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 .cse0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_96| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_96| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2019-01-07 14:26:06,417 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-01-07 14:26:06,530 INFO L273 TraceCheckUtils]: 0: Hoare triple {4875#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {4882#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-01-07 14:26:06,549 INFO L273 TraceCheckUtils]: 1: Hoare triple {4882#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4886#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-01-07 14:26:06,550 INFO L273 TraceCheckUtils]: 2: Hoare triple {4886#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {4886#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-01-07 14:26:06,550 INFO L273 TraceCheckUtils]: 3: Hoare triple {4886#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {4876#false} is VALID [2019-01-07 14:26:06,551 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:26:06,551 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-01-07 14:26:06,571 INFO L273 TraceCheckUtils]: 3: Hoare triple {4893#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {4876#false} is VALID [2019-01-07 14:26:06,572 INFO L273 TraceCheckUtils]: 2: Hoare triple {4893#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {4893#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-01-07 14:26:06,573 INFO L273 TraceCheckUtils]: 1: Hoare triple {4900#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4893#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-01-07 14:26:06,575 INFO L273 TraceCheckUtils]: 0: Hoare triple {4875#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {4900#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-01-07 14:26:06,575 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:26:06,594 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-01-07 14:26:06,594 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2019-01-07 14:26:06,594 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-01-07 14:26:06,594 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2019-01-07 14:26:06,594 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-01-07 14:26:06,595 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2019-01-07 14:26:06,613 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:26:06,613 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2019-01-07 14:26:06,613 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2019-01-07 14:26:06,614 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2019-01-07 14:26:06,614 INFO L87 Difference]: Start difference. First operand 91 states and 493 transitions. Second operand 6 states. [2019-01-07 14:26:07,534 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:26:07,534 INFO L93 Difference]: Finished difference Result 110 states and 511 transitions. [2019-01-07 14:26:07,534 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2019-01-07 14:26:07,535 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2019-01-07 14:26:07,535 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-01-07 14:26:07,535 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-01-07 14:26:07,535 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2019-01-07 14:26:07,535 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-01-07 14:26:07,535 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2019-01-07 14:26:07,536 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 56 transitions. [2019-01-07 14:26:07,607 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:26:07,609 INFO L225 Difference]: With dead ends: 110 [2019-01-07 14:26:07,609 INFO L226 Difference]: Without dead ends: 109 [2019-01-07 14:26:07,610 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2019-01-07 14:26:07,610 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 109 states. [2019-01-07 14:26:08,115 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 109 to 91. [2019-01-07 14:26:08,115 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-01-07 14:26:08,115 INFO L82 GeneralOperation]: Start isEquivalent. First operand 109 states. Second operand 91 states. [2019-01-07 14:26:08,115 INFO L74 IsIncluded]: Start isIncluded. First operand 109 states. Second operand 91 states. [2019-01-07 14:26:08,116 INFO L87 Difference]: Start difference. First operand 109 states. Second operand 91 states. [2019-01-07 14:26:08,120 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:26:08,120 INFO L93 Difference]: Finished difference Result 109 states and 509 transitions. [2019-01-07 14:26:08,120 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 509 transitions. [2019-01-07 14:26:08,121 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:26:08,121 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:26:08,121 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand 109 states. [2019-01-07 14:26:08,121 INFO L87 Difference]: Start difference. First operand 91 states. Second operand 109 states. [2019-01-07 14:26:08,124 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:26:08,124 INFO L93 Difference]: Finished difference Result 109 states and 509 transitions. [2019-01-07 14:26:08,124 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 509 transitions. [2019-01-07 14:26:08,125 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:26:08,125 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:26:08,125 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-01-07 14:26:08,125 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-01-07 14:26:08,125 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 91 states. [2019-01-07 14:26:08,128 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 493 transitions. [2019-01-07 14:26:08,128 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 493 transitions. Word has length 4 [2019-01-07 14:26:08,128 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-01-07 14:26:08,128 INFO L480 AbstractCegarLoop]: Abstraction has 91 states and 493 transitions. [2019-01-07 14:26:08,128 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2019-01-07 14:26:08,128 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 493 transitions. [2019-01-07 14:26:08,129 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-01-07 14:26:08,129 INFO L394 BasicCegarLoop]: Found error trace [2019-01-07 14:26:08,129 INFO L402 BasicCegarLoop]: trace histogram [2, 1, 1, 1] [2019-01-07 14:26:08,129 INFO L423 AbstractCegarLoop]: === Iteration 18 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-01-07 14:26:08,129 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:26:08,130 INFO L82 PathProgramCache]: Analyzing trace with hash 29182900, now seen corresponding path program 2 times [2019-01-07 14:26:08,130 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-01-07 14:26:08,130 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:26:08,130 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:26:08,130 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:26:08,131 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-01-07 14:26:08,137 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:26:08,493 WARN L181 SmtUtils]: Spent 209.00 ms on a formula simplification. DAG size of input: 17 DAG size of output: 13 [2019-01-07 14:26:08,583 INFO L273 TraceCheckUtils]: 0: Hoare triple {5456#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {5458#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2019-01-07 14:26:08,584 INFO L273 TraceCheckUtils]: 1: Hoare triple {5458#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5459#(= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:26:08,585 INFO L273 TraceCheckUtils]: 2: Hoare triple {5459#(= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5460#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-01-07 14:26:08,586 INFO L273 TraceCheckUtils]: 3: Hoare triple {5460#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5461#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:26:08,586 INFO L273 TraceCheckUtils]: 4: Hoare triple {5461#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {5457#false} is VALID [2019-01-07 14:26:08,586 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:26:08,587 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:26:08,587 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-01-07 14:26:08,587 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2019-01-07 14:26:08,587 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2019-01-07 14:26:08,587 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:26:08,587 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 [2019-01-07 14:26:08,597 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2019-01-07 14:26:08,597 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2019-01-07 14:26:08,604 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2019-01-07 14:26:08,604 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2019-01-07 14:26:08,608 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:26:08,608 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-01-07 14:26:08,660 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2019-01-07 14:26:08,668 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2019-01-07 14:26:08,676 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:08,677 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:08,678 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2019-01-07 14:26:08,690 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:08,691 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:08,692 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:08,693 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2019-01-07 14:26:08,709 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:08,711 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:08,712 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:08,714 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:08,715 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2019-01-07 14:26:08,757 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:08,758 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:08,759 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:08,759 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:08,760 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:08,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, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2019-01-07 14:26:08,767 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:08,810 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:08,833 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:08,852 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:08,868 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:08,883 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:08,920 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:08,920 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2019-01-07 14:26:08,981 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:08,982 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:08,983 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2019-01-07 14:26:09,048 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:09,049 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:09,051 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:09,052 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:09,053 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2019-01-07 14:26:09,134 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:09,136 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:09,137 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:09,138 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:09,139 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:09,140 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:09,141 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2019-01-07 14:26:09,249 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:09,250 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:09,251 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:09,253 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:09,254 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:09,255 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:09,256 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:09,257 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:09,258 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2019-01-07 14:26:09,262 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:09,292 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:09,319 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:09,347 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:09,374 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:09,424 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 2 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-01-07 14:26:09,424 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 6 variables, input treesize:92, output treesize:91 [2019-01-07 14:26:09,467 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:26:09,467 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_98|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_malloc_ptr, |v_#valid_24|]. (let ((.cse0 (store |v_#valid_24| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse0 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p3 1))) (let ((.cse3 (store .cse1 ULTIMATE.start_main_p4 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p2)) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= (select .cse2 ULTIMATE.start_main_p3) 0) (= 0 (select .cse3 ULTIMATE.start_main_p5)) (= (select (store .cse3 ULTIMATE.start_main_p5 1) ULTIMATE.start_malloc_ptr) 0) (= |#memory_int| (store (store (store (store (store (store |v_#memory_int_98| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_malloc_ptr 0))))))) [2019-01-07 14:26:09,468 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_malloc_ptr]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-01-07 14:26:09,592 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:09,594 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 91 [2019-01-07 14:26:09,599 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:09,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. [2019-01-07 14:26:09,645 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:101, output treesize:71 [2019-01-07 14:26:09,669 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:26:09,669 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_99|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_99| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_99| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_99| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_99| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_99| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (= 0 .cse0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= (select |v_#memory_int_99| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_99| ULTIMATE.start_malloc_ptr) 0))) [2019-01-07 14:26:09,670 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3))) [2019-01-07 14:26:09,768 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:09,769 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:09,771 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:09,772 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:09,773 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:09,774 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:09,775 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:09,777 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:09,778 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 103 [2019-01-07 14:26:09,783 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:09,834 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2019-01-07 14:26:09,834 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:83, output treesize:71 [2019-01-07 14:26:10,433 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:26:10,434 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_100|, ULTIMATE.start_main_p4, ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_100| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_100| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_100| ULTIMATE.start_malloc_ptr) 0) (= 0 (select |v_#memory_int_100| ULTIMATE.start_main_p5)) (= |#memory_int| (store |v_#memory_int_100| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |v_#memory_int_100| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (+ .cse0 1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= (select |v_#memory_int_100| ULTIMATE.start_main_p3) 0))) [2019-01-07 14:26:10,434 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3))) [2019-01-07 14:26:11,474 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:11,499 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:11,515 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:11,538 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:11,559 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:11,572 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:11,590 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:11,611 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:11,611 INFO L303 Elim1Store]: Index analysis took 172 ms [2019-01-07 14:26:11,612 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 113 [2019-01-07 14:26:11,641 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:11,761 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2019-01-07 14:26:11,761 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:83, output treesize:57 [2019-01-07 14:26:11,865 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:26:11,865 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_101|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_malloc_ptr]. (let ((.cse0 (select |v_#memory_int_101| ULTIMATE.start_main_p1))) (and (= (+ (select |v_#memory_int_101| ULTIMATE.start_main_p4) 2) 0) (= 0 .cse0) (= 0 (select |v_#memory_int_101| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (store |v_#memory_int_101| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_101| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_101| ULTIMATE.start_malloc_ptr) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_101| ULTIMATE.start_main_p2)))) [2019-01-07 14:26:11,865 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr))) [2019-01-07 14:26:11,923 INFO L273 TraceCheckUtils]: 0: Hoare triple {5456#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {5465#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2019-01-07 14:26:11,929 INFO L273 TraceCheckUtils]: 1: Hoare triple {5465#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5469#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)))))} is VALID [2019-01-07 14:26:11,934 INFO L273 TraceCheckUtils]: 2: Hoare triple {5469#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)))))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5473#(and (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)))))} is VALID [2019-01-07 14:26:11,940 INFO L273 TraceCheckUtils]: 3: Hoare triple {5473#(and (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5477#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))))} is VALID [2019-01-07 14:26:11,940 INFO L273 TraceCheckUtils]: 4: Hoare triple {5477#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))))} assume !(#memory_int[main_p1] >= 0); {5457#false} is VALID [2019-01-07 14:26:11,941 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:26:11,941 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-01-07 14:26:11,990 INFO L273 TraceCheckUtils]: 4: Hoare triple {5461#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {5457#false} is VALID [2019-01-07 14:26:11,991 INFO L273 TraceCheckUtils]: 3: Hoare triple {5484#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5461#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:26:11,992 INFO L273 TraceCheckUtils]: 2: Hoare triple {5488#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5484#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2019-01-07 14:26:11,993 INFO L273 TraceCheckUtils]: 1: Hoare triple {5492#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5488#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2019-01-07 14:26:11,996 INFO L273 TraceCheckUtils]: 0: Hoare triple {5456#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {5492#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1) 1))} is VALID [2019-01-07 14:26:11,996 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:26:12,015 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-01-07 14:26:12,016 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2019-01-07 14:26:12,016 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-01-07 14:26:12,016 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-01-07 14:26:12,016 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-01-07 14:26:12,016 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-01-07 14:26:12,041 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:26:12,041 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-01-07 14:26:12,041 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-01-07 14:26:12,041 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=93, Unknown=0, NotChecked=0, Total=156 [2019-01-07 14:26:12,041 INFO L87 Difference]: Start difference. First operand 91 states and 493 transitions. Second operand 10 states. [2019-01-07 14:26:15,273 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:26:15,273 INFO L93 Difference]: Finished difference Result 133 states and 606 transitions. [2019-01-07 14:26:15,273 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-01-07 14:26:15,273 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-01-07 14:26:15,273 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-01-07 14:26:15,274 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-01-07 14:26:15,274 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 89 transitions. [2019-01-07 14:26:15,274 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-01-07 14:26:15,275 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 89 transitions. [2019-01-07 14:26:15,275 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 89 transitions. [2019-01-07 14:26:15,601 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:26:15,603 INFO L225 Difference]: With dead ends: 133 [2019-01-07 14:26:15,603 INFO L226 Difference]: Without dead ends: 128 [2019-01-07 14:26:15,604 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 49 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=73, Invalid=109, Unknown=0, NotChecked=0, Total=182 [2019-01-07 14:26:15,604 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2019-01-07 14:26:16,513 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 95. [2019-01-07 14:26:16,514 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-01-07 14:26:16,514 INFO L82 GeneralOperation]: Start isEquivalent. First operand 128 states. Second operand 95 states. [2019-01-07 14:26:16,514 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand 95 states. [2019-01-07 14:26:16,514 INFO L87 Difference]: Start difference. First operand 128 states. Second operand 95 states. [2019-01-07 14:26:16,519 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:26:16,519 INFO L93 Difference]: Finished difference Result 128 states and 598 transitions. [2019-01-07 14:26:16,519 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 598 transitions. [2019-01-07 14:26:16,520 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:26:16,520 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:26:16,520 INFO L74 IsIncluded]: Start isIncluded. First operand 95 states. Second operand 128 states. [2019-01-07 14:26:16,520 INFO L87 Difference]: Start difference. First operand 95 states. Second operand 128 states. [2019-01-07 14:26:16,524 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:26:16,524 INFO L93 Difference]: Finished difference Result 128 states and 598 transitions. [2019-01-07 14:26:16,524 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 598 transitions. [2019-01-07 14:26:16,524 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:26:16,524 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:26:16,524 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-01-07 14:26:16,525 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-01-07 14:26:16,525 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 95 states. [2019-01-07 14:26:16,527 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 538 transitions. [2019-01-07 14:26:16,527 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 538 transitions. Word has length 5 [2019-01-07 14:26:16,527 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-01-07 14:26:16,527 INFO L480 AbstractCegarLoop]: Abstraction has 95 states and 538 transitions. [2019-01-07 14:26:16,527 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-01-07 14:26:16,527 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 538 transitions. [2019-01-07 14:26:16,528 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-01-07 14:26:16,528 INFO L394 BasicCegarLoop]: Found error trace [2019-01-07 14:26:16,528 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-01-07 14:26:16,528 INFO L423 AbstractCegarLoop]: === Iteration 19 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-01-07 14:26:16,528 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:26:16,529 INFO L82 PathProgramCache]: Analyzing trace with hash 29172052, now seen corresponding path program 1 times [2019-01-07 14:26:16,529 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-01-07 14:26:16,529 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:26:16,530 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2019-01-07 14:26:16,530 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:26:16,530 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-01-07 14:26:16,537 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:26:16,650 INFO L273 TraceCheckUtils]: 0: Hoare triple {6132#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {6134#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2019-01-07 14:26:16,652 INFO L273 TraceCheckUtils]: 1: Hoare triple {6134#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {6135#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-01-07 14:26:16,653 INFO L273 TraceCheckUtils]: 2: Hoare triple {6135#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {6136#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-01-07 14:26:16,653 INFO L273 TraceCheckUtils]: 3: Hoare triple {6136#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {6136#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-01-07 14:26:16,654 INFO L273 TraceCheckUtils]: 4: Hoare triple {6136#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {6133#false} is VALID [2019-01-07 14:26:16,654 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:26:16,655 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:26:16,655 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-01-07 14:26:16,655 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-01-07 14:26:16,655 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [28], [29] [2019-01-07 14:26:16,657 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-01-07 14:26:16,657 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-01-07 14:26:16,668 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-01-07 14:26:16,668 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 2. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-01-07 14:26:16,668 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:26:16,668 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-01-07 14:26:16,668 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:26:16,668 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 [2019-01-07 14:26:16,677 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:26:16,677 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-01-07 14:26:16,681 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:26:16,685 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:26:16,685 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-01-07 14:26:16,773 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2019-01-07 14:26:16,778 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2019-01-07 14:26:16,785 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:16,786 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:16,787 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2019-01-07 14:26:16,796 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:16,797 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:16,799 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:16,799 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2019-01-07 14:26:16,813 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:16,814 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:16,815 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:16,816 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:16,817 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2019-01-07 14:26:16,840 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2019-01-07 14:26:16,843 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:16,873 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:16,894 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:16,912 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:16,924 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:16,938 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:16,968 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:16,969 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2019-01-07 14:26:17,043 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:17,044 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:17,045 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2019-01-07 14:26:17,106 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:17,108 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:17,109 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:17,110 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:17,111 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2019-01-07 14:26:17,175 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:17,176 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:17,177 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:17,178 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:17,179 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:17,180 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:17,181 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2019-01-07 14:26:17,183 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:17,198 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:17,214 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:17,231 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:17,267 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-01-07 14:26:17,267 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:72, output treesize:71 [2019-01-07 14:26:17,277 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:26:17,277 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_105|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_25|]. (let ((.cse2 (store |v_#valid_25| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p3 1))) (and (= (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0) (= 0 (select .cse1 ULTIMATE.start_main_p3)) (= 0 (select .cse0 ULTIMATE.start_main_p4)) (= (select .cse2 ULTIMATE.start_main_p2) 0) (= (store (store (store (store (store (store |v_#memory_int_105| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|))))) [2019-01-07 14:26:17,278 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-01-07 14:26:17,404 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:17,405 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 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 [2019-01-07 14:26:17,408 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:17,440 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. [2019-01-07 14:26:17,441 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2019-01-07 14:26:17,449 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:26:17,449 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_106|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_106| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_106| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_106| ULTIMATE.start_main_p5)) (= (store |v_#memory_int_106| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_106| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_106| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= .cse0 0))) [2019-01-07 14:26:17,449 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2019-01-07 14:26:17,509 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:17,510 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:17,511 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:17,512 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:17,513 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:17,515 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:17,516 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:17,517 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 88 [2019-01-07 14:26:17,521 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:17,594 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. [2019-01-07 14:26:17,594 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:62, output treesize:40 [2019-01-07 14:26:17,611 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:26:17,611 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_107|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_107| ULTIMATE.start_main_p1))) (and (= 0 .cse0) (= 0 (select |v_#memory_int_107| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_107| ULTIMATE.start_main_p1 (+ .cse0 1))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (+ (select |v_#memory_int_107| ULTIMATE.start_main_p4) 1)) (= (select |v_#memory_int_107| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_107| ULTIMATE.start_main_p3)))) [2019-01-07 14:26:17,611 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2019-01-07 14:26:17,656 INFO L273 TraceCheckUtils]: 0: Hoare triple {6132#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {6140#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2019-01-07 14:26:17,658 INFO L273 TraceCheckUtils]: 1: Hoare triple {6140#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {6144#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2019-01-07 14:26:17,661 INFO L273 TraceCheckUtils]: 2: Hoare triple {6144#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {6148#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2019-01-07 14:26:17,667 INFO L273 TraceCheckUtils]: 3: Hoare triple {6148#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} assume #memory_int[main_p1] >= 0; {6148#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2019-01-07 14:26:17,668 INFO L273 TraceCheckUtils]: 4: Hoare triple {6148#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} assume !(#memory_int[main_p2] <= 0); {6133#false} is VALID [2019-01-07 14:26:17,669 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:26:17,669 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-01-07 14:26:17,706 INFO L273 TraceCheckUtils]: 4: Hoare triple {6155#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {6133#false} is VALID [2019-01-07 14:26:17,707 INFO L273 TraceCheckUtils]: 3: Hoare triple {6155#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {6155#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-01-07 14:26:17,708 INFO L273 TraceCheckUtils]: 2: Hoare triple {6162#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {6155#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-01-07 14:26:17,709 INFO L273 TraceCheckUtils]: 1: Hoare triple {6166#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {6162#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-01-07 14:26:17,711 INFO L273 TraceCheckUtils]: 0: Hoare triple {6132#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {6166#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-01-07 14:26:17,712 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:26:17,731 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-01-07 14:26:17,731 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-01-07 14:26:17,731 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-01-07 14:26:17,732 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-01-07 14:26:17,732 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-01-07 14:26:17,732 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-01-07 14:26:17,747 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:26:17,747 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-01-07 14:26:17,748 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-01-07 14:26:17,748 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2019-01-07 14:26:17,748 INFO L87 Difference]: Start difference. First operand 95 states and 538 transitions. Second operand 8 states. [2019-01-07 14:26:19,155 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:26:19,155 INFO L93 Difference]: Finished difference Result 125 states and 622 transitions. [2019-01-07 14:26:19,155 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-01-07 14:26:19,155 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-01-07 14:26:19,155 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-01-07 14:26:19,155 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-01-07 14:26:19,156 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 63 transitions. [2019-01-07 14:26:19,156 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-01-07 14:26:19,156 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 63 transitions. [2019-01-07 14:26:19,157 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 63 transitions. [2019-01-07 14:26:19,239 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:26:19,242 INFO L225 Difference]: With dead ends: 125 [2019-01-07 14:26:19,242 INFO L226 Difference]: Without dead ends: 124 [2019-01-07 14:26:19,242 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2019-01-07 14:26:19,243 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 124 states. [2019-01-07 14:26:20,030 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 124 to 102. [2019-01-07 14:26:20,031 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-01-07 14:26:20,031 INFO L82 GeneralOperation]: Start isEquivalent. First operand 124 states. Second operand 102 states. [2019-01-07 14:26:20,031 INFO L74 IsIncluded]: Start isIncluded. First operand 124 states. Second operand 102 states. [2019-01-07 14:26:20,031 INFO L87 Difference]: Start difference. First operand 124 states. Second operand 102 states. [2019-01-07 14:26:20,035 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:26:20,035 INFO L93 Difference]: Finished difference Result 124 states and 620 transitions. [2019-01-07 14:26:20,035 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 620 transitions. [2019-01-07 14:26:20,036 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:26:20,036 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:26:20,036 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand 124 states. [2019-01-07 14:26:20,036 INFO L87 Difference]: Start difference. First operand 102 states. Second operand 124 states. [2019-01-07 14:26:20,040 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:26:20,040 INFO L93 Difference]: Finished difference Result 124 states and 620 transitions. [2019-01-07 14:26:20,041 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 620 transitions. [2019-01-07 14:26:20,041 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:26:20,041 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:26:20,041 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-01-07 14:26:20,041 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-01-07 14:26:20,042 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 102 states. [2019-01-07 14:26:20,045 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 589 transitions. [2019-01-07 14:26:20,045 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 589 transitions. Word has length 5 [2019-01-07 14:26:20,045 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-01-07 14:26:20,045 INFO L480 AbstractCegarLoop]: Abstraction has 102 states and 589 transitions. [2019-01-07 14:26:20,045 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-01-07 14:26:20,046 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 589 transitions. [2019-01-07 14:26:20,046 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-01-07 14:26:20,046 INFO L394 BasicCegarLoop]: Found error trace [2019-01-07 14:26:20,046 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-01-07 14:26:20,046 INFO L423 AbstractCegarLoop]: === Iteration 20 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-01-07 14:26:20,047 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:26:20,047 INFO L82 PathProgramCache]: Analyzing trace with hash 29187302, now seen corresponding path program 1 times [2019-01-07 14:26:20,047 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-01-07 14:26:20,048 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:26:20,048 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:26:20,048 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:26:20,048 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-01-07 14:26:20,055 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:26:20,299 INFO L273 TraceCheckUtils]: 0: Hoare triple {6810#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {6812#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2019-01-07 14:26:20,300 INFO L273 TraceCheckUtils]: 1: Hoare triple {6812#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {6813#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2019-01-07 14:26:20,301 INFO L273 TraceCheckUtils]: 2: Hoare triple {6813#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6814#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p6) 0))} is VALID [2019-01-07 14:26:20,302 INFO L273 TraceCheckUtils]: 3: Hoare triple {6814#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p6) 0))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {6815#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-01-07 14:26:20,302 INFO L273 TraceCheckUtils]: 4: Hoare triple {6815#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {6811#false} is VALID [2019-01-07 14:26:20,303 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:26:20,303 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:26:20,303 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-01-07 14:26:20,303 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-01-07 14:26:20,303 INFO L207 CegarAbsIntRunner]: [0], [18], [22], [24], [27] [2019-01-07 14:26:20,306 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-01-07 14:26:20,306 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-01-07 14:26:20,329 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-01-07 14:26:20,329 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 2. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-01-07 14:26:20,329 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:26:20,329 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-01-07 14:26:20,329 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:26:20,329 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 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 [2019-01-07 14:26:20,338 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:26:20,338 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-01-07 14:26:20,343 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:26:20,347 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:26:20,347 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-01-07 14:26:20,418 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:20,419 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2019-01-07 14:26:20,480 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:20,481 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:20,482 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2019-01-07 14:26:20,549 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:20,551 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:20,552 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:20,553 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:20,554 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2019-01-07 14:26:20,639 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:20,640 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:20,641 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:20,643 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:20,644 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:20,645 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:20,646 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2019-01-07 14:26:20,748 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:20,750 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:20,751 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:20,752 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:20,753 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:20,754 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:20,756 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:20,757 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:20,757 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2019-01-07 14:26:20,762 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:20,791 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:20,824 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:20,853 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:20,905 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:20,947 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 5 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2019-01-07 14:26:20,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, 9 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2019-01-07 14:26:20,975 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 12 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2019-01-07 14:26:21,014 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 14 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2019-01-07 14:26:21,039 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 15 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2019-01-07 14:26:21,068 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2019-01-07 14:26:21,074 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:21,112 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:21,134 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:21,152 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:21,166 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:21,180 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:21,238 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-01-07 14:26:21,238 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 4 variables, input treesize:92, output treesize:91 [2019-01-07 14:26:21,248 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:26:21,248 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_110|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, |v_#valid_26|]. (let ((.cse3 (store |v_#valid_26| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse3 ULTIMATE.start_main_p2 1))) (let ((.cse2 (store .cse0 ULTIMATE.start_main_p3 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p4 1))) (and (= (store (store (store (store (store (store |v_#memory_int_110| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= (select .cse0 ULTIMATE.start_main_p3) 0) (= 0 (select (store .cse1 ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6)) (= (select .cse2 ULTIMATE.start_main_p4) 0) (= 0 (select .cse3 ULTIMATE.start_main_p2)) (= (select .cse1 ULTIMATE.start_main_p5) 0)))))) [2019-01-07 14:26:21,249 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-01-07 14:26:21,404 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:21,405 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 91 [2019-01-07 14:26:21,411 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:21,464 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-01-07 14:26:21,464 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:101, output treesize:71 [2019-01-07 14:26:21,510 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:26:21,511 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_111|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_111| ULTIMATE.start_main_p4))) (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_111| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_111| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= .cse0 0) (= |#memory_int| (store |v_#memory_int_111| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= (select |v_#memory_int_111| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_111| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_111| ULTIMATE.start_main_p6) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2019-01-07 14:26:21,511 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-01-07 14:26:21,622 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:21,624 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:21,625 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:21,626 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:21,627 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:21,628 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:21,629 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:21,630 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:21,631 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 105 [2019-01-07 14:26:21,638 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:21,690 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. [2019-01-07 14:26:21,691 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:83, output treesize:57 [2019-01-07 14:26:21,744 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:26:21,745 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_112|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_112| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_112| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_112| ULTIMATE.start_main_p1)) (= 0 (+ (select |v_#memory_int_112| ULTIMATE.start_main_p4) 1)) (= (store |v_#memory_int_112| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_112| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_112| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2019-01-07 14:26:21,745 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-01-07 14:26:21,839 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:21,840 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:21,841 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:21,842 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:21,843 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:21,844 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:21,845 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:21,846 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:21,847 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:21,848 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:21,849 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:21,850 INFO L683 Elim1Store]: detected equality via solver [2019-01-07 14:26:21,851 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:21,852 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 118 [2019-01-07 14:26:21,860 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:21,918 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2019-01-07 14:26:21,918 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:67, output treesize:47 [2019-01-07 14:26:22,781 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:26:22,781 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_113|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_113| ULTIMATE.start_main_p6))) (and (= (select |v_#memory_int_113| ULTIMATE.start_main_p1) 0) (= (store |v_#memory_int_113| ULTIMATE.start_main_p6 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_113| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= (+ (select |v_#memory_int_113| ULTIMATE.start_main_p4) 1) 0) (= 0 .cse0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_113| ULTIMATE.start_main_p5) 1) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_113| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2019-01-07 14:26:22,781 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p6, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2019-01-07 14:26:22,828 INFO L273 TraceCheckUtils]: 0: Hoare triple {6810#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {6819#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))} is VALID [2019-01-07 14:26:22,831 INFO L273 TraceCheckUtils]: 1: Hoare triple {6819#(and (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {6823#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))} is VALID [2019-01-07 14:26:22,833 INFO L273 TraceCheckUtils]: 2: Hoare triple {6823#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6827#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2019-01-07 14:26:22,836 INFO L273 TraceCheckUtils]: 3: Hoare triple {6827#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {6831#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2019-01-07 14:26:22,837 INFO L273 TraceCheckUtils]: 4: Hoare triple {6831#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {6811#false} is VALID [2019-01-07 14:26:22,838 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:26:22,838 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-01-07 14:26:22,939 INFO L273 TraceCheckUtils]: 4: Hoare triple {6835#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {6811#false} is VALID [2019-01-07 14:26:22,941 INFO L273 TraceCheckUtils]: 3: Hoare triple {6839#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {6835#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:26:22,942 INFO L273 TraceCheckUtils]: 2: Hoare triple {6843#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6839#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:26:22,944 INFO L273 TraceCheckUtils]: 1: Hoare triple {6847#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {6843#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:26:22,946 INFO L273 TraceCheckUtils]: 0: Hoare triple {6810#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {6847#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:26:22,947 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:26:22,966 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-01-07 14:26:22,966 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2019-01-07 14:26:22,966 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-01-07 14:26:22,966 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-01-07 14:26:22,967 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-01-07 14:26:22,967 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-01-07 14:26:22,985 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:26:22,985 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-01-07 14:26:22,985 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-01-07 14:26:22,986 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=116, Unknown=0, NotChecked=0, Total=182 [2019-01-07 14:26:22,986 INFO L87 Difference]: Start difference. First operand 102 states and 589 transitions. Second operand 10 states. [2019-01-07 14:26:28,922 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:26:28,922 INFO L93 Difference]: Finished difference Result 149 states and 665 transitions. [2019-01-07 14:26:28,922 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-01-07 14:26:28,922 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-01-07 14:26:28,922 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-01-07 14:26:28,922 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-01-07 14:26:28,923 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 96 transitions. [2019-01-07 14:26:28,923 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-01-07 14:26:28,923 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 96 transitions. [2019-01-07 14:26:28,923 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 96 transitions. [2019-01-07 14:26:29,067 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:26:29,071 INFO L225 Difference]: With dead ends: 149 [2019-01-07 14:26:29,071 INFO L226 Difference]: Without dead ends: 145 [2019-01-07 14:26:29,072 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 61 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=88, Invalid=152, Unknown=0, NotChecked=0, Total=240 [2019-01-07 14:26:29,072 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 145 states. [2019-01-07 14:26:29,717 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 145 to 105. [2019-01-07 14:26:29,717 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-01-07 14:26:29,717 INFO L82 GeneralOperation]: Start isEquivalent. First operand 145 states. Second operand 105 states. [2019-01-07 14:26:29,717 INFO L74 IsIncluded]: Start isIncluded. First operand 145 states. Second operand 105 states. [2019-01-07 14:26:29,718 INFO L87 Difference]: Start difference. First operand 145 states. Second operand 105 states. [2019-01-07 14:26:29,723 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:26:29,723 INFO L93 Difference]: Finished difference Result 145 states and 658 transitions. [2019-01-07 14:26:29,723 INFO L276 IsEmpty]: Start isEmpty. Operand 145 states and 658 transitions. [2019-01-07 14:26:29,723 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:26:29,724 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:26:29,724 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand 145 states. [2019-01-07 14:26:29,724 INFO L87 Difference]: Start difference. First operand 105 states. Second operand 145 states. [2019-01-07 14:26:29,728 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:26:29,728 INFO L93 Difference]: Finished difference Result 145 states and 658 transitions. [2019-01-07 14:26:29,728 INFO L276 IsEmpty]: Start isEmpty. Operand 145 states and 658 transitions. [2019-01-07 14:26:29,729 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:26:29,729 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:26:29,729 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-01-07 14:26:29,729 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-01-07 14:26:29,729 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 105 states. [2019-01-07 14:26:29,733 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 105 states to 105 states and 605 transitions. [2019-01-07 14:26:29,733 INFO L78 Accepts]: Start accepts. Automaton has 105 states and 605 transitions. Word has length 5 [2019-01-07 14:26:29,733 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-01-07 14:26:29,733 INFO L480 AbstractCegarLoop]: Abstraction has 105 states and 605 transitions. [2019-01-07 14:26:29,733 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-01-07 14:26:29,733 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 605 transitions. [2019-01-07 14:26:29,734 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-01-07 14:26:29,734 INFO L394 BasicCegarLoop]: Found error trace [2019-01-07 14:26:29,734 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-01-07 14:26:29,734 INFO L423 AbstractCegarLoop]: === Iteration 21 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-01-07 14:26:29,734 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:26:29,735 INFO L82 PathProgramCache]: Analyzing trace with hash 29186868, now seen corresponding path program 1 times [2019-01-07 14:26:29,735 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-01-07 14:26:29,735 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:26:29,735 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:26:29,736 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:26:29,736 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-01-07 14:26:29,741 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:26:29,911 INFO L273 TraceCheckUtils]: 0: Hoare triple {7565#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {7567#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2019-01-07 14:26:29,913 INFO L273 TraceCheckUtils]: 1: Hoare triple {7567#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {7568#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2019-01-07 14:26:29,914 INFO L273 TraceCheckUtils]: 2: Hoare triple {7568#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7569#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2019-01-07 14:26:29,915 INFO L273 TraceCheckUtils]: 3: Hoare triple {7569#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7570#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-01-07 14:26:29,916 INFO L273 TraceCheckUtils]: 4: Hoare triple {7570#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {7566#false} is VALID [2019-01-07 14:26:29,916 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:26:29,917 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:26:29,917 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-01-07 14:26:29,917 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-01-07 14:26:29,917 INFO L207 CegarAbsIntRunner]: [0], [10], [18], [22], [27] [2019-01-07 14:26:29,919 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-01-07 14:26:29,919 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-01-07 14:26:29,931 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-01-07 14:26:29,932 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 2. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-01-07 14:26:29,932 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:26:29,932 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-01-07 14:26:29,932 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:26:29,932 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 [2019-01-07 14:26:29,942 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:26:29,942 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-01-07 14:26:29,946 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:26:29,949 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:26:29,950 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-01-07 14:26:30,015 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2019-01-07 14:26:30,038 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2019-01-07 14:26:30,046 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:30,048 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:30,049 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2019-01-07 14:26:30,061 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:30,062 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:30,064 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:30,064 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2019-01-07 14:26:30,080 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:30,082 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:30,083 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:30,085 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:30,086 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2019-01-07 14:26:30,112 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2019-01-07 14:26:30,115 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:30,145 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:30,167 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:30,186 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:30,202 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:30,217 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:30,257 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:30,258 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2019-01-07 14:26:30,307 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:30,308 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:30,309 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2019-01-07 14:26:30,366 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:30,368 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:30,369 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:30,370 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:30,371 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2019-01-07 14:26:30,439 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:30,440 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:30,441 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:30,442 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:30,444 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:30,445 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:30,445 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2019-01-07 14:26:30,449 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:30,466 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:30,482 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:30,498 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:30,535 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-01-07 14:26:30,536 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 4 variables, input treesize:72, output treesize:71 [2019-01-07 14:26:30,545 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:26:30,546 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_117|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6, |v_#valid_27|]. (let ((.cse1 (store |v_#valid_27| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p2 1))) (let ((.cse2 (store .cse0 ULTIMATE.start_main_p3 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p3)) (= 0 (select .cse1 ULTIMATE.start_main_p2)) (= 0 (select (store .cse2 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= 0 (select .cse2 ULTIMATE.start_main_p4)) (= (store (store (store (store (store (store |v_#memory_int_117| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|))))) [2019-01-07 14:26:30,546 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-01-07 14:26:30,663 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:30,665 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 [2019-01-07 14:26:30,669 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:30,702 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. [2019-01-07 14:26:30,702 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:76, output treesize:50 [2019-01-07 14:26:30,709 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:26:30,709 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_118|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_118| ULTIMATE.start_main_p4))) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_118| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_118| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_118| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_118| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_118| ULTIMATE.start_main_p5)) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2019-01-07 14:26:30,709 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2019-01-07 14:26:30,787 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:30,789 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:30,790 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:30,791 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:30,792 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:30,793 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:30,794 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:30,795 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 80 [2019-01-07 14:26:30,800 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:30,834 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. [2019-01-07 14:26:30,835 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:62, output treesize:40 [2019-01-07 14:26:32,075 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:26:32,075 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_119|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_119| ULTIMATE.start_main_p5))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= .cse0 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_119| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_119| ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_119| ULTIMATE.start_main_p5 (+ .cse0 1))) (= (select |v_#memory_int_119| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (+ (select |v_#memory_int_119| ULTIMATE.start_main_p4) 1) 0))) [2019-01-07 14:26:32,075 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2019-01-07 14:26:32,137 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:32,138 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:32,139 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:32,140 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:32,141 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:32,143 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:32,144 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:32,145 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:32,146 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:32,146 INFO L683 Elim1Store]: detected equality via solver [2019-01-07 14:26:32,147 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:32,148 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 [2019-01-07 14:26:32,155 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:32,192 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-01-07 14:26:32,193 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:34 [2019-01-07 14:26:32,496 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:26:32,496 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_120|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_120| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_120| ULTIMATE.start_main_p5) 1) (= (select |v_#memory_int_120| ULTIMATE.start_main_p1) 0) (= (store |v_#memory_int_120| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (+ (select |v_#memory_int_120| ULTIMATE.start_main_p4) 1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_120| ULTIMATE.start_main_p3)) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2019-01-07 14:26:32,496 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (and (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1))) [2019-01-07 14:26:32,532 INFO L273 TraceCheckUtils]: 0: Hoare triple {7565#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {7574#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2019-01-07 14:26:32,534 INFO L273 TraceCheckUtils]: 1: Hoare triple {7574#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {7578#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-01-07 14:26:32,536 INFO L273 TraceCheckUtils]: 2: Hoare triple {7578#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7582#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-01-07 14:26:32,538 INFO L273 TraceCheckUtils]: 3: Hoare triple {7582#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7586#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2019-01-07 14:26:32,539 INFO L273 TraceCheckUtils]: 4: Hoare triple {7586#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {7566#false} is VALID [2019-01-07 14:26:32,540 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:26:32,540 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-01-07 14:26:32,610 INFO L273 TraceCheckUtils]: 4: Hoare triple {7590#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {7566#false} is VALID [2019-01-07 14:26:32,611 INFO L273 TraceCheckUtils]: 3: Hoare triple {7594#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7590#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:26:32,613 INFO L273 TraceCheckUtils]: 2: Hoare triple {7598#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7594#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:26:32,615 INFO L273 TraceCheckUtils]: 1: Hoare triple {7602#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {7598#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:26:32,617 INFO L273 TraceCheckUtils]: 0: Hoare triple {7565#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {7602#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:26:32,617 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:26:32,635 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-01-07 14:26:32,635 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2019-01-07 14:26:32,635 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-01-07 14:26:32,636 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-01-07 14:26:32,636 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-01-07 14:26:32,636 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-01-07 14:26:32,652 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:26:32,652 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-01-07 14:26:32,652 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-01-07 14:26:32,653 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=116, Unknown=0, NotChecked=0, Total=182 [2019-01-07 14:26:32,653 INFO L87 Difference]: Start difference. First operand 105 states and 605 transitions. Second operand 10 states. [2019-01-07 14:26:36,757 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:26:36,757 INFO L93 Difference]: Finished difference Result 138 states and 662 transitions. [2019-01-07 14:26:36,757 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-01-07 14:26:36,757 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-01-07 14:26:36,757 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-01-07 14:26:36,757 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-01-07 14:26:36,758 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 77 transitions. [2019-01-07 14:26:36,758 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-01-07 14:26:36,758 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 77 transitions. [2019-01-07 14:26:36,759 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 77 transitions. [2019-01-07 14:26:36,875 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:26:36,878 INFO L225 Difference]: With dead ends: 138 [2019-01-07 14:26:36,878 INFO L226 Difference]: Without dead ends: 136 [2019-01-07 14:26:36,878 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=99, Invalid=173, Unknown=0, NotChecked=0, Total=272 [2019-01-07 14:26:36,878 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 136 states. [2019-01-07 14:26:37,750 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 136 to 104. [2019-01-07 14:26:37,750 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-01-07 14:26:37,750 INFO L82 GeneralOperation]: Start isEquivalent. First operand 136 states. Second operand 104 states. [2019-01-07 14:26:37,750 INFO L74 IsIncluded]: Start isIncluded. First operand 136 states. Second operand 104 states. [2019-01-07 14:26:37,751 INFO L87 Difference]: Start difference. First operand 136 states. Second operand 104 states. [2019-01-07 14:26:37,755 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:26:37,756 INFO L93 Difference]: Finished difference Result 136 states and 657 transitions. [2019-01-07 14:26:37,756 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 657 transitions. [2019-01-07 14:26:37,756 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:26:37,756 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:26:37,756 INFO L74 IsIncluded]: Start isIncluded. First operand 104 states. Second operand 136 states. [2019-01-07 14:26:37,756 INFO L87 Difference]: Start difference. First operand 104 states. Second operand 136 states. [2019-01-07 14:26:37,760 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:26:37,760 INFO L93 Difference]: Finished difference Result 136 states and 657 transitions. [2019-01-07 14:26:37,760 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 657 transitions. [2019-01-07 14:26:37,760 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:26:37,760 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:26:37,760 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-01-07 14:26:37,760 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-01-07 14:26:37,760 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 104 states. [2019-01-07 14:26:37,763 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 104 states to 104 states and 598 transitions. [2019-01-07 14:26:37,763 INFO L78 Accepts]: Start accepts. Automaton has 104 states and 598 transitions. Word has length 5 [2019-01-07 14:26:37,763 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-01-07 14:26:37,763 INFO L480 AbstractCegarLoop]: Abstraction has 104 states and 598 transitions. [2019-01-07 14:26:37,763 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-01-07 14:26:37,763 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 598 transitions. [2019-01-07 14:26:37,764 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-01-07 14:26:37,764 INFO L394 BasicCegarLoop]: Found error trace [2019-01-07 14:26:37,764 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-01-07 14:26:37,764 INFO L423 AbstractCegarLoop]: === Iteration 22 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-01-07 14:26:37,764 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:26:37,764 INFO L82 PathProgramCache]: Analyzing trace with hash 29188666, now seen corresponding path program 1 times [2019-01-07 14:26:37,764 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-01-07 14:26:37,765 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:26:37,765 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:26:37,765 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:26:37,765 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-01-07 14:26:37,771 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:26:37,892 INFO L273 TraceCheckUtils]: 0: Hoare triple {8292#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {8294#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2019-01-07 14:26:37,894 INFO L273 TraceCheckUtils]: 1: Hoare triple {8294#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {8295#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} is VALID [2019-01-07 14:26:37,895 INFO L273 TraceCheckUtils]: 2: Hoare triple {8295#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {8296#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-01-07 14:26:37,895 INFO L273 TraceCheckUtils]: 3: Hoare triple {8296#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {8297#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:26:37,896 INFO L273 TraceCheckUtils]: 4: Hoare triple {8297#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {8293#false} is VALID [2019-01-07 14:26:37,896 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:26:37,897 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:26:37,897 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-01-07 14:26:37,897 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-01-07 14:26:37,897 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [24], [27] [2019-01-07 14:26:37,898 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-01-07 14:26:37,899 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-01-07 14:26:37,910 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-01-07 14:26:37,910 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 2. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-01-07 14:26:37,910 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:26:37,911 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-01-07 14:26:37,911 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:26:37,911 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 [2019-01-07 14:26:37,918 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:26:37,919 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-01-07 14:26:37,923 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:26:37,931 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:26:37,931 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-01-07 14:26:37,981 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:37,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, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2019-01-07 14:26:38,038 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:38,039 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:38,040 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2019-01-07 14:26:38,103 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:38,104 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:38,105 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:38,106 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:38,107 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2019-01-07 14:26:38,184 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:38,185 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:38,186 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:38,188 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:38,189 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:38,190 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:38,191 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2019-01-07 14:26:38,285 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:38,286 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:38,288 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:38,289 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:38,290 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:38,291 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:38,292 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:38,293 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:38,294 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2019-01-07 14:26:38,297 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:38,325 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:38,352 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:38,380 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:38,408 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:38,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, 5 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2019-01-07 14:26:38,457 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 9 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2019-01-07 14:26:38,470 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 12 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2019-01-07 14:26:38,486 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 14 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2019-01-07 14:26:38,510 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 15 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2019-01-07 14:26:38,531 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2019-01-07 14:26:38,535 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:38,571 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:38,591 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:38,607 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:38,620 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:38,632 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:38,679 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-01-07 14:26:38,680 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 5 variables, input treesize:92, output treesize:91 [2019-01-07 14:26:38,691 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:26:38,691 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_124|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, |v_#valid_28|]. (let ((.cse3 (store |v_#valid_28| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse3 ULTIMATE.start_main_p2 1))) (let ((.cse2 (store .cse0 ULTIMATE.start_main_p3 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p4 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p3)) (= (select .cse1 ULTIMATE.start_main_p5) 0) (= (store (store (store (store (store (store |v_#memory_int_124| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= 0 (select (store .cse1 ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6)) (= 0 (select .cse2 ULTIMATE.start_main_p4)) (= 0 (select .cse3 ULTIMATE.start_main_p2))))))) [2019-01-07 14:26:38,691 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-01-07 14:26:38,802 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:38,803 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 91 [2019-01-07 14:26:38,807 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:38,857 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-01-07 14:26:38,857 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:101, output treesize:71 [2019-01-07 14:26:40,862 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:26:40,863 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_125|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_125| ULTIMATE.start_main_p4))) (and (= .cse0 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_125| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_125| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (select |v_#memory_int_125| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (store |v_#memory_int_125| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_125| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_125| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2019-01-07 14:26:40,863 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-01-07 14:26:40,960 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:40,961 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:40,962 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:40,963 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:40,964 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:40,965 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:40,966 INFO L683 Elim1Store]: detected equality via solver [2019-01-07 14:26:40,967 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 106 [2019-01-07 14:26:40,972 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:41,025 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2019-01-07 14:26:41,026 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:83, output treesize:59 [2019-01-07 14:26:41,175 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:26:41,176 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_126|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_126| ULTIMATE.start_main_p6))) (and (= (select |v_#memory_int_126| ULTIMATE.start_main_p5) 0) (= (+ (select |v_#memory_int_126| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_126| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_126| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_126| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_126| ULTIMATE.start_main_p6 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2019-01-07 14:26:41,176 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, ULTIMATE.start_main_p4]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1))) [2019-01-07 14:26:41,263 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:41,264 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:41,265 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:41,266 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:41,267 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:41,268 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:41,269 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:41,270 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:41,272 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:41,273 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:41,274 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:41,275 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 45 treesize of output 115 [2019-01-07 14:26:41,281 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:41,348 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2019-01-07 14:26:41,349 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:73, output treesize:51 [2019-01-07 14:26:41,568 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:26:41,569 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_127|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_127| ULTIMATE.start_main_p1))) (and (= 0 (+ (select |v_#memory_int_127| ULTIMATE.start_main_p6) 1)) (= 0 (select |v_#memory_int_127| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_127| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_127| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (+ (select |v_#memory_int_127| ULTIMATE.start_main_p4) 1) 0) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_127| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2019-01-07 14:26:41,569 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p6, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (= (+ (select |#memory_int| ULTIMATE.start_main_p6) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2019-01-07 14:26:41,609 INFO L273 TraceCheckUtils]: 0: Hoare triple {8292#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {8301#(and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2019-01-07 14:26:41,612 INFO L273 TraceCheckUtils]: 1: Hoare triple {8301#(and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {8305#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2019-01-07 14:26:41,614 INFO L273 TraceCheckUtils]: 2: Hoare triple {8305#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {8309#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2019-01-07 14:26:41,619 INFO L273 TraceCheckUtils]: 3: Hoare triple {8309#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {8313#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p6) 1) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2019-01-07 14:26:41,619 INFO L273 TraceCheckUtils]: 4: Hoare triple {8313#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p6) 1) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} assume !(#memory_int[main_p1] >= 0); {8293#false} is VALID [2019-01-07 14:26:41,620 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:26:41,620 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-01-07 14:26:41,665 INFO L273 TraceCheckUtils]: 4: Hoare triple {8297#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {8293#false} is VALID [2019-01-07 14:26:41,666 INFO L273 TraceCheckUtils]: 3: Hoare triple {8320#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {8297#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:26:41,668 INFO L273 TraceCheckUtils]: 2: Hoare triple {8324#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {8320#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2019-01-07 14:26:41,672 INFO L273 TraceCheckUtils]: 1: Hoare triple {8328#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {8324#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2019-01-07 14:26:41,674 INFO L273 TraceCheckUtils]: 0: Hoare triple {8292#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {8328#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2019-01-07 14:26:41,674 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:26:41,692 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-01-07 14:26:41,692 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2019-01-07 14:26:41,692 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-01-07 14:26:41,692 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-01-07 14:26:41,693 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-01-07 14:26:41,693 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-01-07 14:26:41,710 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:26:41,710 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-01-07 14:26:41,710 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-01-07 14:26:41,710 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=93, Unknown=0, NotChecked=0, Total=156 [2019-01-07 14:26:41,710 INFO L87 Difference]: Start difference. First operand 104 states and 598 transitions. Second operand 10 states. [2019-01-07 14:26:44,079 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:26:44,079 INFO L93 Difference]: Finished difference Result 152 states and 738 transitions. [2019-01-07 14:26:44,079 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-01-07 14:26:44,079 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-01-07 14:26:44,080 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-01-07 14:26:44,080 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-01-07 14:26:44,081 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 85 transitions. [2019-01-07 14:26:44,081 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-01-07 14:26:44,081 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 85 transitions. [2019-01-07 14:26:44,081 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 85 transitions. [2019-01-07 14:26:44,223 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:26:44,227 INFO L225 Difference]: With dead ends: 152 [2019-01-07 14:26:44,227 INFO L226 Difference]: Without dead ends: 151 [2019-01-07 14:26:44,227 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 50 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2019-01-07 14:26:44,227 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 151 states. [2019-01-07 14:26:45,237 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 151 to 106. [2019-01-07 14:26:45,237 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-01-07 14:26:45,237 INFO L82 GeneralOperation]: Start isEquivalent. First operand 151 states. Second operand 106 states. [2019-01-07 14:26:45,237 INFO L74 IsIncluded]: Start isIncluded. First operand 151 states. Second operand 106 states. [2019-01-07 14:26:45,237 INFO L87 Difference]: Start difference. First operand 151 states. Second operand 106 states. [2019-01-07 14:26:45,242 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:26:45,242 INFO L93 Difference]: Finished difference Result 151 states and 734 transitions. [2019-01-07 14:26:45,242 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 734 transitions. [2019-01-07 14:26:45,243 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:26:45,243 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:26:45,243 INFO L74 IsIncluded]: Start isIncluded. First operand 106 states. Second operand 151 states. [2019-01-07 14:26:45,243 INFO L87 Difference]: Start difference. First operand 106 states. Second operand 151 states. [2019-01-07 14:26:45,247 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:26:45,248 INFO L93 Difference]: Finished difference Result 151 states and 734 transitions. [2019-01-07 14:26:45,248 INFO L276 IsEmpty]: Start isEmpty. Operand 151 states and 734 transitions. [2019-01-07 14:26:45,248 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:26:45,248 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:26:45,249 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-01-07 14:26:45,249 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-01-07 14:26:45,249 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 106 states. [2019-01-07 14:26:45,252 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 612 transitions. [2019-01-07 14:26:45,252 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 612 transitions. Word has length 5 [2019-01-07 14:26:45,252 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-01-07 14:26:45,252 INFO L480 AbstractCegarLoop]: Abstraction has 106 states and 612 transitions. [2019-01-07 14:26:45,253 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-01-07 14:26:45,253 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 612 transitions. [2019-01-07 14:26:45,253 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-01-07 14:26:45,253 INFO L394 BasicCegarLoop]: Found error trace [2019-01-07 14:26:45,253 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-01-07 14:26:45,254 INFO L423 AbstractCegarLoop]: === Iteration 23 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-01-07 14:26:45,254 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:26:45,254 INFO L82 PathProgramCache]: Analyzing trace with hash 29188790, now seen corresponding path program 1 times [2019-01-07 14:26:45,254 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-01-07 14:26:45,255 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:26:45,255 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:26:45,255 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:26:45,255 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-01-07 14:26:45,262 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:26:45,414 INFO L273 TraceCheckUtils]: 0: Hoare triple {9074#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {9076#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2019-01-07 14:26:45,415 INFO L273 TraceCheckUtils]: 1: Hoare triple {9076#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {9077#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} is VALID [2019-01-07 14:26:45,416 INFO L273 TraceCheckUtils]: 2: Hoare triple {9077#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {9078#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2019-01-07 14:26:45,417 INFO L273 TraceCheckUtils]: 3: Hoare triple {9078#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9079#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-01-07 14:26:45,418 INFO L273 TraceCheckUtils]: 4: Hoare triple {9079#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {9075#false} is VALID [2019-01-07 14:26:45,419 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:26:45,419 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:26:45,419 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-01-07 14:26:45,419 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-01-07 14:26:45,419 INFO L207 CegarAbsIntRunner]: [0], [10], [18], [24], [27] [2019-01-07 14:26:45,421 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-01-07 14:26:45,421 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-01-07 14:26:45,428 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-01-07 14:26:45,429 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 2. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-01-07 14:26:45,429 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:26:45,429 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-01-07 14:26:45,429 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:26:45,430 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 [2019-01-07 14:26:45,438 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:26:45,438 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-01-07 14:26:45,448 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:26:45,452 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:26:45,452 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-01-07 14:26:45,521 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:45,522 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2019-01-07 14:26:45,588 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:45,591 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:45,591 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2019-01-07 14:26:45,664 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:45,666 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:45,668 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:45,670 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:45,670 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2019-01-07 14:26:45,776 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:45,778 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:45,780 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:45,781 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:45,784 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:45,786 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:45,787 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2019-01-07 14:26:45,909 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:45,910 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:45,912 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:45,914 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:45,915 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:45,917 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:45,918 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:45,920 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:45,921 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2019-01-07 14:26:45,935 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:45,985 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:46,016 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:46,049 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:46,081 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:46,123 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 5 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2019-01-07 14:26:46,132 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 9 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2019-01-07 14:26:46,143 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 12 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2019-01-07 14:26:46,158 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 14 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2019-01-07 14:26:46,177 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 15 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2019-01-07 14:26:46,204 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2019-01-07 14:26:46,212 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:46,247 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:46,268 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:46,284 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:46,298 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:46,310 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:46,359 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-01-07 14:26:46,360 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 4 variables, input treesize:92, output treesize:91 [2019-01-07 14:26:46,368 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:26:46,368 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_131|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, |v_#valid_29|]. (let ((.cse1 (store |v_#valid_29| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p2 1))) (let ((.cse3 (store .cse0 ULTIMATE.start_main_p3 1))) (let ((.cse2 (store .cse3 ULTIMATE.start_main_p4 1))) (and (= (select .cse0 ULTIMATE.start_main_p3) 0) (= |#memory_int| (store (store (store (store (store (store |v_#memory_int_131| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0)) (= (select .cse1 ULTIMATE.start_main_p2) 0) (= (select .cse2 ULTIMATE.start_main_p5) 0) (= (select (store .cse2 ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6) 0) (= 0 (select .cse3 ULTIMATE.start_main_p4))))))) [2019-01-07 14:26:46,368 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-01-07 14:26:46,479 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:46,480 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 91 [2019-01-07 14:26:46,484 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:46,530 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. [2019-01-07 14:26:46,530 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:101, output treesize:71 [2019-01-07 14:26:48,539 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:26:48,539 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_132|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_132| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_132| ULTIMATE.start_main_p1) 0) (= |#memory_int| (store |v_#memory_int_132| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= .cse0 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_132| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_132| ULTIMATE.start_main_p6) 0) (= (select |v_#memory_int_132| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_132| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2019-01-07 14:26:48,539 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-01-07 14:26:48,625 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:48,627 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:48,628 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:48,629 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:48,630 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:48,631 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:48,632 INFO L683 Elim1Store]: detected equality via solver [2019-01-07 14:26:48,633 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 106 [2019-01-07 14:26:48,636 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:48,685 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. [2019-01-07 14:26:48,685 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:83, output treesize:59 [2019-01-07 14:26:48,695 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:26:48,695 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_133|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_133| ULTIMATE.start_main_p6))) (and (= 0 (+ (select |v_#memory_int_133| ULTIMATE.start_main_p4) 1)) (= 0 (select |v_#memory_int_133| ULTIMATE.start_main_p3)) (= 0 .cse0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_133| ULTIMATE.start_main_p5) 0) (= 0 (select |v_#memory_int_133| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_133| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_133| ULTIMATE.start_main_p6 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2019-01-07 14:26:48,695 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, ULTIMATE.start_main_p4]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1))) [2019-01-07 14:26:48,771 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:48,772 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:48,773 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:48,774 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:48,776 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:48,777 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:48,778 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:48,779 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:48,780 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:48,781 INFO L683 Elim1Store]: detected equality via solver [2019-01-07 14:26:48,782 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 45 treesize of output 108 [2019-01-07 14:26:48,785 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:48,935 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2019-01-07 14:26:48,936 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:73, output treesize:57 [2019-01-07 14:26:49,313 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:26:49,313 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_134|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6]. (let ((.cse0 (select |v_#memory_int_134| ULTIMATE.start_main_p2))) (and (= 0 (+ (select |v_#memory_int_134| ULTIMATE.start_main_p4) 1)) (= 0 (select |v_#memory_int_134| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_134| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_134| ULTIMATE.start_main_p5)) (= |#memory_int| (store |v_#memory_int_134| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 .cse0) (= 0 (+ (select |v_#memory_int_134| ULTIMATE.start_main_p6) 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2019-01-07 14:26:49,313 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p6, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (= (+ (select |#memory_int| ULTIMATE.start_main_p6) 1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2019-01-07 14:26:49,358 INFO L273 TraceCheckUtils]: 0: Hoare triple {9074#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {9083#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2019-01-07 14:26:49,361 INFO L273 TraceCheckUtils]: 1: Hoare triple {9083#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {9087#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2019-01-07 14:26:49,363 INFO L273 TraceCheckUtils]: 2: Hoare triple {9087#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {9091#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2019-01-07 14:26:49,366 INFO L273 TraceCheckUtils]: 3: Hoare triple {9091#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9095#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p6) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2019-01-07 14:26:49,367 INFO L273 TraceCheckUtils]: 4: Hoare triple {9095#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p6) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {9075#false} is VALID [2019-01-07 14:26:49,368 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:26:49,368 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-01-07 14:26:49,438 INFO L273 TraceCheckUtils]: 4: Hoare triple {9099#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {9075#false} is VALID [2019-01-07 14:26:49,439 INFO L273 TraceCheckUtils]: 3: Hoare triple {9103#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9099#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:26:49,440 INFO L273 TraceCheckUtils]: 2: Hoare triple {9107#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {9103#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:26:49,441 INFO L273 TraceCheckUtils]: 1: Hoare triple {9111#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {9107#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:26:49,444 INFO L273 TraceCheckUtils]: 0: Hoare triple {9074#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {9111#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:26:49,444 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:26:49,464 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-01-07 14:26:49,464 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2019-01-07 14:26:49,464 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-01-07 14:26:49,464 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-01-07 14:26:49,465 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-01-07 14:26:49,465 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-01-07 14:26:49,483 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:26:49,483 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-01-07 14:26:49,483 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-01-07 14:26:49,484 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=115, Unknown=0, NotChecked=0, Total=182 [2019-01-07 14:26:49,484 INFO L87 Difference]: Start difference. First operand 106 states and 612 transitions. Second operand 10 states. [2019-01-07 14:26:54,241 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:26:54,241 INFO L93 Difference]: Finished difference Result 141 states and 665 transitions. [2019-01-07 14:26:54,241 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-01-07 14:26:54,241 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-01-07 14:26:54,242 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-01-07 14:26:54,242 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-01-07 14:26:54,242 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 77 transitions. [2019-01-07 14:26:54,242 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-01-07 14:26:54,243 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 77 transitions. [2019-01-07 14:26:54,243 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 77 transitions. [2019-01-07 14:26:54,390 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:26:54,393 INFO L225 Difference]: With dead ends: 141 [2019-01-07 14:26:54,393 INFO L226 Difference]: Without dead ends: 140 [2019-01-07 14:26:54,394 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 62 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=100, Invalid=172, Unknown=0, NotChecked=0, Total=272 [2019-01-07 14:26:54,394 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 140 states. [2019-01-07 14:26:55,381 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 140 to 107. [2019-01-07 14:26:55,381 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-01-07 14:26:55,381 INFO L82 GeneralOperation]: Start isEquivalent. First operand 140 states. Second operand 107 states. [2019-01-07 14:26:55,382 INFO L74 IsIncluded]: Start isIncluded. First operand 140 states. Second operand 107 states. [2019-01-07 14:26:55,382 INFO L87 Difference]: Start difference. First operand 140 states. Second operand 107 states. [2019-01-07 14:26:55,387 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:26:55,387 INFO L93 Difference]: Finished difference Result 140 states and 663 transitions. [2019-01-07 14:26:55,387 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 663 transitions. [2019-01-07 14:26:55,387 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:26:55,387 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:26:55,388 INFO L74 IsIncluded]: Start isIncluded. First operand 107 states. Second operand 140 states. [2019-01-07 14:26:55,388 INFO L87 Difference]: Start difference. First operand 107 states. Second operand 140 states. [2019-01-07 14:26:55,392 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:26:55,392 INFO L93 Difference]: Finished difference Result 140 states and 663 transitions. [2019-01-07 14:26:55,392 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 663 transitions. [2019-01-07 14:26:55,393 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:26:55,393 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:26:55,393 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-01-07 14:26:55,393 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-01-07 14:26:55,393 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 107 states. [2019-01-07 14:26:55,395 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 107 states to 107 states and 619 transitions. [2019-01-07 14:26:55,396 INFO L78 Accepts]: Start accepts. Automaton has 107 states and 619 transitions. Word has length 5 [2019-01-07 14:26:55,396 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-01-07 14:26:55,396 INFO L480 AbstractCegarLoop]: Abstraction has 107 states and 619 transitions. [2019-01-07 14:26:55,396 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-01-07 14:26:55,396 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 619 transitions. [2019-01-07 14:26:55,396 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-01-07 14:26:55,396 INFO L394 BasicCegarLoop]: Found error trace [2019-01-07 14:26:55,396 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-01-07 14:26:55,397 INFO L423 AbstractCegarLoop]: === Iteration 24 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-01-07 14:26:55,397 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:26:55,397 INFO L82 PathProgramCache]: Analyzing trace with hash 29175212, now seen corresponding path program 1 times [2019-01-07 14:26:55,397 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-01-07 14:26:55,397 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:26:55,397 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:26:55,398 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:26:55,398 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-01-07 14:26:55,402 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:26:55,782 WARN L181 SmtUtils]: Spent 206.00 ms on a formula simplification. DAG size of input: 21 DAG size of output: 16 [2019-01-07 14:26:55,824 INFO L273 TraceCheckUtils]: 0: Hoare triple {9818#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {9820#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2019-01-07 14:26:55,826 INFO L273 TraceCheckUtils]: 1: Hoare triple {9820#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {9821#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2019-01-07 14:26:55,827 INFO L273 TraceCheckUtils]: 2: Hoare triple {9821#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9822#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-01-07 14:26:55,828 INFO L273 TraceCheckUtils]: 3: Hoare triple {9822#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {9823#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:26:55,828 INFO L273 TraceCheckUtils]: 4: Hoare triple {9823#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {9819#false} is VALID [2019-01-07 14:26:55,828 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:26:55,829 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:26:55,829 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-01-07 14:26:55,829 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-01-07 14:26:55,829 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [18], [27] [2019-01-07 14:26:55,831 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-01-07 14:26:55,831 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-01-07 14:26:55,848 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-01-07 14:26:55,848 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 2. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-01-07 14:26:55,848 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:26:55,848 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-01-07 14:26:55,848 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:26:55,848 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 [2019-01-07 14:26:55,856 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:26:55,856 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-01-07 14:26:55,860 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:26:55,865 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:26:55,865 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-01-07 14:26:55,915 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2019-01-07 14:26:55,924 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2019-01-07 14:26:55,934 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:55,935 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:55,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, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2019-01-07 14:26:55,950 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:55,951 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:55,952 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:55,953 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2019-01-07 14:26:55,972 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:55,974 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:55,975 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:55,977 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:55,978 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2019-01-07 14:26:56,008 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2019-01-07 14:26:56,015 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:56,047 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:56,070 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:56,091 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:56,106 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:56,122 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:56,154 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:56,155 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2019-01-07 14:26:56,210 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:56,211 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:56,212 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2019-01-07 14:26:56,272 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:56,273 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:56,275 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:56,276 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:56,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, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2019-01-07 14:26:56,352 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:56,354 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:56,355 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:56,356 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:56,357 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:56,358 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:56,359 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2019-01-07 14:26:56,363 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:56,381 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:56,399 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:56,416 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:26:56,456 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-01-07 14:26:56,456 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:72, output treesize:71 [2019-01-07 14:26:56,467 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:26:56,468 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_138|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_30|]. (let ((.cse1 (store |v_#valid_30| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse1 ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse2 ULTIMATE.start_main_p3 1))) (and (= (select .cse0 ULTIMATE.start_main_p4) 0) (= (store (store (store (store (store (store |v_#memory_int_138| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= (select .cse1 ULTIMATE.start_main_p2) 0) (= 0 (select .cse2 ULTIMATE.start_main_p3)) (= (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0))))) [2019-01-07 14:26:56,468 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-01-07 14:26:56,591 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:56,592 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 [2019-01-07 14:26:56,598 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:56,635 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. [2019-01-07 14:26:56,635 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2019-01-07 14:26:58,641 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:26:58,642 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_139|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_139| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_139| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_139| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_139| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= |#memory_int| (store |v_#memory_int_139| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_139| ULTIMATE.start_main_p2) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2019-01-07 14:26:58,642 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2019-01-07 14:26:58,739 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:58,740 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:58,741 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:58,742 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:58,743 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:26:58,743 INFO L683 Elim1Store]: detected equality via solver [2019-01-07 14:26:58,744 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 81 [2019-01-07 14:26:58,759 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:26:58,799 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. [2019-01-07 14:26:58,800 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:62, output treesize:42 [2019-01-07 14:27:00,865 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:27:00,865 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_140|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_140| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_140| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_140| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_140| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_140| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (+ (select |v_#memory_int_140| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2019-01-07 14:27:00,865 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2019-01-07 14:27:00,955 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:00,956 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:00,957 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:00,959 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:00,960 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:00,961 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:00,962 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:00,963 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:00,964 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:00,965 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 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 [2019-01-07 14:27:00,973 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:27:01,012 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. [2019-01-07 14:27:01,013 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:56, output treesize:38 [2019-01-07 14:27:01,025 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:27:01,026 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_141|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_141| ULTIMATE.start_main_p1))) (and (= (+ (select |v_#memory_int_141| ULTIMATE.start_main_p4) 1) 0) (= |#memory_int| (store |v_#memory_int_141| ULTIMATE.start_main_p1 (+ .cse0 1))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |v_#memory_int_141| ULTIMATE.start_main_p2) 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_141| ULTIMATE.start_main_p3)) (= 0 .cse0) (= (select |v_#memory_int_141| ULTIMATE.start_main_p5) 0))) [2019-01-07 14:27:01,026 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-01-07 14:27:01,059 INFO L273 TraceCheckUtils]: 0: Hoare triple {9818#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {9827#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2019-01-07 14:27:01,062 INFO L273 TraceCheckUtils]: 1: Hoare triple {9827#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {9831#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2019-01-07 14:27:01,063 INFO L273 TraceCheckUtils]: 2: Hoare triple {9831#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9835#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2019-01-07 14:27:01,065 INFO L273 TraceCheckUtils]: 3: Hoare triple {9835#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {9839#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-01-07 14:27:01,066 INFO L273 TraceCheckUtils]: 4: Hoare triple {9839#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {9819#false} is VALID [2019-01-07 14:27:01,067 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:27:01,067 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-01-07 14:27:01,124 INFO L273 TraceCheckUtils]: 4: Hoare triple {9823#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {9819#false} is VALID [2019-01-07 14:27:01,125 INFO L273 TraceCheckUtils]: 3: Hoare triple {9846#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {9823#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:27:01,126 INFO L273 TraceCheckUtils]: 2: Hoare triple {9850#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9846#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2019-01-07 14:27:01,127 INFO L273 TraceCheckUtils]: 1: Hoare triple {9854#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {9850#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2019-01-07 14:27:01,130 INFO L273 TraceCheckUtils]: 0: Hoare triple {9818#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {9854#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2019-01-07 14:27:01,130 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:27:01,167 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-01-07 14:27:01,167 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2019-01-07 14:27:01,167 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-01-07 14:27:01,167 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-01-07 14:27:01,167 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-01-07 14:27:01,168 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-01-07 14:27:01,187 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:27:01,187 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-01-07 14:27:01,188 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-01-07 14:27:01,188 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=93, Unknown=0, NotChecked=0, Total=156 [2019-01-07 14:27:01,188 INFO L87 Difference]: Start difference. First operand 107 states and 619 transitions. Second operand 10 states. [2019-01-07 14:27:03,552 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:27:03,552 INFO L93 Difference]: Finished difference Result 163 states and 816 transitions. [2019-01-07 14:27:03,553 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-01-07 14:27:03,553 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-01-07 14:27:03,553 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-01-07 14:27:03,553 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-01-07 14:27:03,553 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 85 transitions. [2019-01-07 14:27:03,553 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-01-07 14:27:03,554 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 85 transitions. [2019-01-07 14:27:03,554 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 85 transitions. [2019-01-07 14:27:03,680 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:27:03,685 INFO L225 Difference]: With dead ends: 163 [2019-01-07 14:27:03,685 INFO L226 Difference]: Without dead ends: 162 [2019-01-07 14:27:03,685 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 [2019-01-07 14:27:03,685 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 162 states. [2019-01-07 14:27:04,643 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 162 to 116. [2019-01-07 14:27:04,643 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-01-07 14:27:04,643 INFO L82 GeneralOperation]: Start isEquivalent. First operand 162 states. Second operand 116 states. [2019-01-07 14:27:04,643 INFO L74 IsIncluded]: Start isIncluded. First operand 162 states. Second operand 116 states. [2019-01-07 14:27:04,644 INFO L87 Difference]: Start difference. First operand 162 states. Second operand 116 states. [2019-01-07 14:27:04,648 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:27:04,649 INFO L93 Difference]: Finished difference Result 162 states and 811 transitions. [2019-01-07 14:27:04,649 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 811 transitions. [2019-01-07 14:27:04,649 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:27:04,649 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:27:04,649 INFO L74 IsIncluded]: Start isIncluded. First operand 116 states. Second operand 162 states. [2019-01-07 14:27:04,649 INFO L87 Difference]: Start difference. First operand 116 states. Second operand 162 states. [2019-01-07 14:27:04,654 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:27:04,655 INFO L93 Difference]: Finished difference Result 162 states and 811 transitions. [2019-01-07 14:27:04,655 INFO L276 IsEmpty]: Start isEmpty. Operand 162 states and 811 transitions. [2019-01-07 14:27:04,655 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:27:04,655 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:27:04,656 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-01-07 14:27:04,656 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-01-07 14:27:04,656 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 116 states. [2019-01-07 14:27:04,659 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 116 states to 116 states and 682 transitions. [2019-01-07 14:27:04,660 INFO L78 Accepts]: Start accepts. Automaton has 116 states and 682 transitions. Word has length 5 [2019-01-07 14:27:04,660 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-01-07 14:27:04,660 INFO L480 AbstractCegarLoop]: Abstraction has 116 states and 682 transitions. [2019-01-07 14:27:04,660 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-01-07 14:27:04,660 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 682 transitions. [2019-01-07 14:27:04,660 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-01-07 14:27:04,660 INFO L394 BasicCegarLoop]: Found error trace [2019-01-07 14:27:04,660 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-01-07 14:27:04,661 INFO L423 AbstractCegarLoop]: === Iteration 25 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-01-07 14:27:04,661 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:27:04,661 INFO L82 PathProgramCache]: Analyzing trace with hash 29179614, now seen corresponding path program 1 times [2019-01-07 14:27:04,661 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-01-07 14:27:04,661 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:27:04,662 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:27:04,662 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:27:04,662 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-01-07 14:27:04,667 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:27:04,946 INFO L273 TraceCheckUtils]: 0: Hoare triple {10664#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {10666#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-01-07 14:27:04,948 INFO L273 TraceCheckUtils]: 1: Hoare triple {10666#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {10667#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-01-07 14:27:04,949 INFO L273 TraceCheckUtils]: 2: Hoare triple {10667#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {10668#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} is VALID [2019-01-07 14:27:04,950 INFO L273 TraceCheckUtils]: 3: Hoare triple {10668#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {10669#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-01-07 14:27:04,950 INFO L273 TraceCheckUtils]: 4: Hoare triple {10669#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {10665#false} is VALID [2019-01-07 14:27:04,951 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:27:04,951 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:27:04,951 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-01-07 14:27:04,951 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-01-07 14:27:04,952 INFO L207 CegarAbsIntRunner]: [0], [14], [18], [24], [27] [2019-01-07 14:27:04,953 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-01-07 14:27:04,953 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-01-07 14:27:04,993 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-01-07 14:27:04,993 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 2. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-01-07 14:27:04,993 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:27:04,994 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-01-07 14:27:04,994 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:27:04,994 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 [2019-01-07 14:27:05,004 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:27:05,004 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-01-07 14:27:05,009 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:27:05,013 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:27:05,014 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-01-07 14:27:05,073 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:05,074 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2019-01-07 14:27:05,135 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:05,137 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:05,138 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2019-01-07 14:27:05,206 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:05,208 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:05,209 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:05,210 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:05,211 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2019-01-07 14:27:05,296 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:05,297 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:05,298 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:05,299 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:05,300 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:05,302 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:05,302 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2019-01-07 14:27:05,406 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:05,407 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:05,409 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:05,410 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:05,411 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:05,412 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:05,413 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:05,414 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:05,415 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2019-01-07 14:27:05,419 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-01-07 14:27:05,448 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:05,477 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:05,506 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:05,534 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:05,575 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 5 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2019-01-07 14:27:05,587 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 9 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2019-01-07 14:27:05,604 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 12 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2019-01-07 14:27:05,624 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 14 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2019-01-07 14:27:05,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, 15 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2019-01-07 14:27:05,680 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2019-01-07 14:27:05,685 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2019-01-07 14:27:05,724 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:05,744 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:05,763 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:05,778 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:05,793 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:05,847 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-01-07 14:27:05,847 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 4 variables, input treesize:92, output treesize:91 [2019-01-07 14:27:05,861 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:27:05,862 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_145|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, |v_#valid_31|]. (let ((.cse2 (store |v_#valid_31| ULTIMATE.start_main_p1 1))) (let ((.cse3 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse3 ULTIMATE.start_main_p3 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p4 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p5)) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= (store (store (store (store (store (store |v_#memory_int_145| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= (select .cse2 ULTIMATE.start_main_p2) 0) (= 0 (select .cse3 ULTIMATE.start_main_p3)) (= (select (store .cse0 ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6) 0)))))) [2019-01-07 14:27:05,862 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-01-07 14:27:06,004 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:06,005 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 91 [2019-01-07 14:27:06,015 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:27:06,066 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-01-07 14:27:06,067 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:101, output treesize:71 [2019-01-07 14:27:06,088 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:27:06,089 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_146|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_146| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_146| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_146| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 .cse0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_146| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_146| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_146| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= |#memory_int| (store |v_#memory_int_146| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))))) [2019-01-07 14:27:06,089 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-01-07 14:27:06,211 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:06,212 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:06,214 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:06,215 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:06,216 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:06,217 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:06,218 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:06,219 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:06,220 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 113 [2019-01-07 14:27:06,227 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:27:06,280 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. [2019-01-07 14:27:06,281 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:83, output treesize:57 [2019-01-07 14:27:06,343 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:27:06,343 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_147|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_147| ULTIMATE.start_main_p3))) (and (= 0 (select |v_#memory_int_147| ULTIMATE.start_main_p5)) (= (+ (select |v_#memory_int_147| ULTIMATE.start_main_p4) 1) 0) (= (select |v_#memory_int_147| ULTIMATE.start_main_p6) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |v_#memory_int_147| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= .cse0 0) (= (store |v_#memory_int_147| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_147| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2019-01-07 14:27:06,343 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-01-07 14:27:06,434 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:06,436 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:06,437 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:06,438 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:06,439 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:06,440 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:06,441 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:06,442 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:06,443 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:06,444 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:06,445 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:06,446 INFO L683 Elim1Store]: detected equality via solver [2019-01-07 14:27:06,447 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:06,448 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 122 [2019-01-07 14:27:06,455 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:27:06,510 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2019-01-07 14:27:06,511 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:67, output treesize:47 [2019-01-07 14:27:07,803 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:27:07,803 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_148|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_148| ULTIMATE.start_main_p6))) (and (= (select |v_#memory_int_148| ULTIMATE.start_main_p3) 1) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_148| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_148| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_148| ULTIMATE.start_main_p6 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= 0 (+ (select |v_#memory_int_148| ULTIMATE.start_main_p4) 1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= .cse0 0) (= (select |v_#memory_int_148| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2019-01-07 14:27:07,803 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p6, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) [2019-01-07 14:27:07,850 INFO L273 TraceCheckUtils]: 0: Hoare triple {10664#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {10673#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2019-01-07 14:27:07,853 INFO L273 TraceCheckUtils]: 1: Hoare triple {10673#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {10677#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2019-01-07 14:27:07,854 INFO L273 TraceCheckUtils]: 2: Hoare triple {10677#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {10681#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2019-01-07 14:27:07,857 INFO L273 TraceCheckUtils]: 3: Hoare triple {10681#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {10685#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} is VALID [2019-01-07 14:27:07,857 INFO L273 TraceCheckUtils]: 4: Hoare triple {10685#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} assume !(#memory_int[main_p1] >= 0); {10665#false} is VALID [2019-01-07 14:27:07,858 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:27:07,858 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-01-07 14:27:08,036 INFO L273 TraceCheckUtils]: 4: Hoare triple {10689#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {10665#false} is VALID [2019-01-07 14:27:08,038 INFO L273 TraceCheckUtils]: 3: Hoare triple {10693#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {10689#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:27:08,039 INFO L273 TraceCheckUtils]: 2: Hoare triple {10697#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {10693#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:27:08,041 INFO L273 TraceCheckUtils]: 1: Hoare triple {10701#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p6 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {10697#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:27:08,044 INFO L273 TraceCheckUtils]: 0: Hoare triple {10664#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {10701#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p6 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:27:08,044 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:27:08,064 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-01-07 14:27:08,064 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2019-01-07 14:27:08,064 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-01-07 14:27:08,064 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-01-07 14:27:08,064 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-01-07 14:27:08,064 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-01-07 14:27:08,079 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:27:08,079 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-01-07 14:27:08,079 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-01-07 14:27:08,080 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=116, Unknown=0, NotChecked=0, Total=182 [2019-01-07 14:27:08,080 INFO L87 Difference]: Start difference. First operand 116 states and 682 transitions. Second operand 10 states. [2019-01-07 14:27:10,628 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:27:10,628 INFO L93 Difference]: Finished difference Result 163 states and 796 transitions. [2019-01-07 14:27:10,629 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-01-07 14:27:10,629 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-01-07 14:27:10,629 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-01-07 14:27:10,629 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-01-07 14:27:10,629 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 80 transitions. [2019-01-07 14:27:10,629 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-01-07 14:27:10,630 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 80 transitions. [2019-01-07 14:27:10,630 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 80 transitions. [2019-01-07 14:27:10,758 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 80 edges. 80 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:27:10,762 INFO L225 Difference]: With dead ends: 163 [2019-01-07 14:27:10,762 INFO L226 Difference]: Without dead ends: 160 [2019-01-07 14:27:10,762 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=99, Invalid=173, Unknown=0, NotChecked=0, Total=272 [2019-01-07 14:27:10,762 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 160 states. [2019-01-07 14:27:11,737 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 160 to 122. [2019-01-07 14:27:11,737 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-01-07 14:27:11,737 INFO L82 GeneralOperation]: Start isEquivalent. First operand 160 states. Second operand 122 states. [2019-01-07 14:27:11,737 INFO L74 IsIncluded]: Start isIncluded. First operand 160 states. Second operand 122 states. [2019-01-07 14:27:11,738 INFO L87 Difference]: Start difference. First operand 160 states. Second operand 122 states. [2019-01-07 14:27:11,742 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:27:11,742 INFO L93 Difference]: Finished difference Result 160 states and 791 transitions. [2019-01-07 14:27:11,742 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 791 transitions. [2019-01-07 14:27:11,742 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:27:11,743 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:27:11,743 INFO L74 IsIncluded]: Start isIncluded. First operand 122 states. Second operand 160 states. [2019-01-07 14:27:11,743 INFO L87 Difference]: Start difference. First operand 122 states. Second operand 160 states. [2019-01-07 14:27:11,747 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:27:11,747 INFO L93 Difference]: Finished difference Result 160 states and 791 transitions. [2019-01-07 14:27:11,747 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 791 transitions. [2019-01-07 14:27:11,748 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:27:11,748 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:27:11,748 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-01-07 14:27:11,748 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-01-07 14:27:11,748 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 122 states. [2019-01-07 14:27:11,752 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 122 states to 122 states and 724 transitions. [2019-01-07 14:27:11,753 INFO L78 Accepts]: Start accepts. Automaton has 122 states and 724 transitions. Word has length 5 [2019-01-07 14:27:11,753 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-01-07 14:27:11,753 INFO L480 AbstractCegarLoop]: Abstraction has 122 states and 724 transitions. [2019-01-07 14:27:11,753 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-01-07 14:27:11,753 INFO L276 IsEmpty]: Start isEmpty. Operand 122 states and 724 transitions. [2019-01-07 14:27:11,754 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-01-07 14:27:11,754 INFO L394 BasicCegarLoop]: Found error trace [2019-01-07 14:27:11,754 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-01-07 14:27:11,754 INFO L423 AbstractCegarLoop]: === Iteration 26 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-01-07 14:27:11,754 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:27:11,754 INFO L82 PathProgramCache]: Analyzing trace with hash 29179180, now seen corresponding path program 1 times [2019-01-07 14:27:11,754 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-01-07 14:27:11,755 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:27:11,755 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:27:11,755 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:27:11,755 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-01-07 14:27:11,763 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:27:11,963 INFO L273 TraceCheckUtils]: 0: Hoare triple {11518#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {11520#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-01-07 14:27:11,964 INFO L273 TraceCheckUtils]: 1: Hoare triple {11520#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11521#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-01-07 14:27:11,965 INFO L273 TraceCheckUtils]: 2: Hoare triple {11521#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {11522#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2019-01-07 14:27:11,966 INFO L273 TraceCheckUtils]: 3: Hoare triple {11522#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {11523#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-01-07 14:27:11,967 INFO L273 TraceCheckUtils]: 4: Hoare triple {11523#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {11519#false} is VALID [2019-01-07 14:27:11,967 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:27:11,968 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:27:11,968 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-01-07 14:27:11,968 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-01-07 14:27:11,968 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [18], [27] [2019-01-07 14:27:11,969 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-01-07 14:27:11,969 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-01-07 14:27:11,977 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-01-07 14:27:11,977 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 2. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-01-07 14:27:11,977 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:27:11,977 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-01-07 14:27:11,978 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:27:11,978 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 [2019-01-07 14:27:11,988 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:27:11,988 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-01-07 14:27:11,992 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:27:11,996 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:27:11,997 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-01-07 14:27:12,043 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:12,044 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2019-01-07 14:27:12,095 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:12,096 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:12,097 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2019-01-07 14:27:12,154 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:12,156 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:12,157 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:12,158 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:12,159 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2019-01-07 14:27:12,230 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:12,232 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:12,233 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:12,234 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:12,235 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:12,236 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:12,237 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2019-01-07 14:27:12,240 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2019-01-07 14:27:12,259 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:12,277 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:12,295 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:12,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, 4 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2019-01-07 14:27:12,333 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 7 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2019-01-07 14:27:12,347 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 9 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2019-01-07 14:27:12,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, 10 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2019-01-07 14:27:12,389 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2019-01-07 14:27:12,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, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2019-01-07 14:27:12,419 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2019-01-07 14:27:12,449 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:12,470 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:12,487 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:12,503 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:12,516 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:12,552 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-01-07 14:27:12,552 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 4 variables, input treesize:72, output treesize:71 [2019-01-07 14:27:12,566 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:27:12,566 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_152|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, |v_#valid_32|]. (let ((.cse1 (store |v_#valid_32| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse1 ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse2 ULTIMATE.start_main_p3 1))) (and (= (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0) (= (select .cse1 ULTIMATE.start_main_p2) 0) (= 0 (select .cse2 ULTIMATE.start_main_p3)) (= 0 (select .cse0 ULTIMATE.start_main_p4)) (= (store (store (store (store (store (store |v_#memory_int_152| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|))))) [2019-01-07 14:27:12,566 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-01-07 14:27:12,697 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:12,698 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 [2019-01-07 14:27:12,704 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:27:12,736 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. [2019-01-07 14:27:12,736 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:76, output treesize:50 [2019-01-07 14:27:12,743 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:27:12,744 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_153|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_153| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_153| ULTIMATE.start_main_p1) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_153| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_153| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_153| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_153| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2019-01-07 14:27:12,744 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2019-01-07 14:27:12,853 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:12,854 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:12,855 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:12,857 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:12,858 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:12,859 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:12,860 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:12,861 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 [2019-01-07 14:27:12,867 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:27:12,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. [2019-01-07 14:27:12,902 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:62, output treesize:40 [2019-01-07 14:27:12,936 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:27:12,936 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_154|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_154| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_154| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_154| ULTIMATE.start_main_p1)) (= (+ (select |v_#memory_int_154| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= |#memory_int| (store |v_#memory_int_154| ULTIMATE.start_main_p3 (+ .cse0 1))) (= .cse0 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_154| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2019-01-07 14:27:12,936 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2))) [2019-01-07 14:27:13,093 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:13,094 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:13,096 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:13,097 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:13,098 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:13,099 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:13,100 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:13,101 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:13,102 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:13,103 INFO L683 Elim1Store]: detected equality via solver [2019-01-07 14:27:13,104 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:13,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 [2019-01-07 14:27:13,112 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:27:13,151 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. [2019-01-07 14:27:13,151 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:34 [2019-01-07 14:27:13,178 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:27:13,179 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_155|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_155| ULTIMATE.start_main_p2))) (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= |#memory_int| (store |v_#memory_int_155| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_155| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_155| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |v_#memory_int_155| ULTIMATE.start_main_p4) 1)) (= 1 (select |v_#memory_int_155| ULTIMATE.start_main_p3)) (= .cse0 0))) [2019-01-07 14:27:13,179 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) [2019-01-07 14:27:13,217 INFO L273 TraceCheckUtils]: 0: Hoare triple {11518#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {11527#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)))))} is VALID [2019-01-07 14:27:13,221 INFO L273 TraceCheckUtils]: 1: Hoare triple {11527#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)))))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11531#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p5 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-01-07 14:27:13,223 INFO L273 TraceCheckUtils]: 2: Hoare triple {11531#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p5 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {11535#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-01-07 14:27:13,225 INFO L273 TraceCheckUtils]: 3: Hoare triple {11535#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {11539#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} is VALID [2019-01-07 14:27:13,226 INFO L273 TraceCheckUtils]: 4: Hoare triple {11539#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} assume !(#memory_int[main_p1] >= 0); {11519#false} is VALID [2019-01-07 14:27:13,227 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:27:13,227 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-01-07 14:27:13,305 INFO L273 TraceCheckUtils]: 4: Hoare triple {11543#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {11519#false} is VALID [2019-01-07 14:27:13,306 INFO L273 TraceCheckUtils]: 3: Hoare triple {11547#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {11543#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:27:13,308 INFO L273 TraceCheckUtils]: 2: Hoare triple {11551#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {11547#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:27:13,310 INFO L273 TraceCheckUtils]: 1: Hoare triple {11555#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11551#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:27:13,312 INFO L273 TraceCheckUtils]: 0: Hoare triple {11518#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {11555#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:27:13,312 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:27:13,331 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-01-07 14:27:13,331 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2019-01-07 14:27:13,331 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-01-07 14:27:13,331 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-01-07 14:27:13,331 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-01-07 14:27:13,332 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-01-07 14:27:13,348 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:27:13,348 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-01-07 14:27:13,348 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-01-07 14:27:13,348 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=116, Unknown=0, NotChecked=0, Total=182 [2019-01-07 14:27:13,349 INFO L87 Difference]: Start difference. First operand 122 states and 724 transitions. Second operand 10 states. [2019-01-07 14:27:17,933 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:27:17,933 INFO L93 Difference]: Finished difference Result 165 states and 829 transitions. [2019-01-07 14:27:17,933 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-01-07 14:27:17,933 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-01-07 14:27:17,933 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-01-07 14:27:17,933 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-01-07 14:27:17,934 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 77 transitions. [2019-01-07 14:27:17,934 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-01-07 14:27:17,934 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 77 transitions. [2019-01-07 14:27:17,934 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 77 transitions. [2019-01-07 14:27:18,043 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:27:18,046 INFO L225 Difference]: With dead ends: 165 [2019-01-07 14:27:18,046 INFO L226 Difference]: Without dead ends: 163 [2019-01-07 14:27:18,047 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=99, Invalid=173, Unknown=0, NotChecked=0, Total=272 [2019-01-07 14:27:18,047 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 163 states. [2019-01-07 14:27:19,014 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 163 to 125. [2019-01-07 14:27:19,014 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-01-07 14:27:19,015 INFO L82 GeneralOperation]: Start isEquivalent. First operand 163 states. Second operand 125 states. [2019-01-07 14:27:19,015 INFO L74 IsIncluded]: Start isIncluded. First operand 163 states. Second operand 125 states. [2019-01-07 14:27:19,015 INFO L87 Difference]: Start difference. First operand 163 states. Second operand 125 states. [2019-01-07 14:27:19,020 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:27:19,020 INFO L93 Difference]: Finished difference Result 163 states and 824 transitions. [2019-01-07 14:27:19,020 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 824 transitions. [2019-01-07 14:27:19,020 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:27:19,020 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:27:19,020 INFO L74 IsIncluded]: Start isIncluded. First operand 125 states. Second operand 163 states. [2019-01-07 14:27:19,021 INFO L87 Difference]: Start difference. First operand 125 states. Second operand 163 states. [2019-01-07 14:27:19,025 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:27:19,025 INFO L93 Difference]: Finished difference Result 163 states and 824 transitions. [2019-01-07 14:27:19,025 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 824 transitions. [2019-01-07 14:27:19,025 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:27:19,025 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:27:19,025 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-01-07 14:27:19,025 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-01-07 14:27:19,026 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 125 states. [2019-01-07 14:27:19,029 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 125 states to 125 states and 745 transitions. [2019-01-07 14:27:19,029 INFO L78 Accepts]: Start accepts. Automaton has 125 states and 745 transitions. Word has length 5 [2019-01-07 14:27:19,029 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-01-07 14:27:19,029 INFO L480 AbstractCegarLoop]: Abstraction has 125 states and 745 transitions. [2019-01-07 14:27:19,029 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-01-07 14:27:19,029 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 745 transitions. [2019-01-07 14:27:19,029 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-01-07 14:27:19,030 INFO L394 BasicCegarLoop]: Found error trace [2019-01-07 14:27:19,030 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-01-07 14:27:19,030 INFO L423 AbstractCegarLoop]: === Iteration 27 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-01-07 14:27:19,030 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:27:19,030 INFO L82 PathProgramCache]: Analyzing trace with hash 28829936, now seen corresponding path program 1 times [2019-01-07 14:27:19,030 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-01-07 14:27:19,031 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:27:19,031 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:27:19,031 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:27:19,031 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-01-07 14:27:19,037 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:27:19,096 INFO L273 TraceCheckUtils]: 0: Hoare triple {12391#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {12393#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-01-07 14:27:19,098 INFO L273 TraceCheckUtils]: 1: Hoare triple {12393#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {12393#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-01-07 14:27:19,099 INFO L273 TraceCheckUtils]: 2: Hoare triple {12393#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {12394#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-01-07 14:27:19,100 INFO L273 TraceCheckUtils]: 3: Hoare triple {12394#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {12394#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-01-07 14:27:19,100 INFO L273 TraceCheckUtils]: 4: Hoare triple {12394#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {12392#false} is VALID [2019-01-07 14:27:19,101 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-01-07 14:27:19,101 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:27:19,101 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-01-07 14:27:19,101 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-01-07 14:27:19,102 INFO L207 CegarAbsIntRunner]: [0], [6], [22], [28], [29] [2019-01-07 14:27:19,103 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-01-07 14:27:19,103 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-01-07 14:27:19,113 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-01-07 14:27:19,113 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 2. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-01-07 14:27:19,113 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:27:19,113 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-01-07 14:27:19,114 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:27:19,114 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 [2019-01-07 14:27:19,124 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:27:19,124 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-01-07 14:27:19,128 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:27:19,133 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:27:19,133 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-01-07 14:27:19,180 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2019-01-07 14:27:19,187 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2019-01-07 14:27:19,197 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:19,199 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:19,199 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2019-01-07 14:27:19,211 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:19,213 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:19,214 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:19,215 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2019-01-07 14:27:19,230 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:19,231 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:19,232 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:19,233 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:19,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 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2019-01-07 14:27:19,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, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2019-01-07 14:27:19,266 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2019-01-07 14:27:19,297 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:19,321 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:19,341 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:19,355 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:19,369 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:19,401 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:19,402 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2019-01-07 14:27:19,452 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:19,453 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:19,454 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2019-01-07 14:27:19,510 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:19,512 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:19,513 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:19,514 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:19,515 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2019-01-07 14:27:19,585 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:19,586 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:19,587 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:19,588 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:19,589 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:19,590 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:19,591 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2019-01-07 14:27:19,599 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2019-01-07 14:27:19,616 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:19,633 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:19,650 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:19,694 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-01-07 14:27:19,694 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:72, output treesize:71 [2019-01-07 14:27:19,708 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:27:19,709 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_159|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p6, |v_#valid_33|]. (let ((.cse2 (store |v_#valid_33| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p3 1))) (and (= (select .cse0 ULTIMATE.start_main_p4) 0) (= 0 (select .cse1 ULTIMATE.start_main_p3)) (= 0 (select .cse2 ULTIMATE.start_main_p2)) (= (store (store (store (store (store (store |v_#memory_int_159| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|) (= (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0))))) [2019-01-07 14:27:19,709 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-01-07 14:27:19,828 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:19,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 72 [2019-01-07 14:27:19,834 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:27:19,874 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. [2019-01-07 14:27:19,874 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2019-01-07 14:27:22,221 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:27:22,221 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_160|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_160| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_160| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= .cse0 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_160| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_160| ULTIMATE.start_main_p4) 0) (= (store |v_#memory_int_160| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_160| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2019-01-07 14:27:22,221 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-01-07 14:27:22,314 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:22,315 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:22,316 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:22,317 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:22,318 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:22,319 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:22,320 INFO L683 Elim1Store]: detected equality via solver [2019-01-07 14:27:22,321 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 [2019-01-07 14:27:22,330 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:27:22,370 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. [2019-01-07 14:27:22,370 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:60, output treesize:42 [2019-01-07 14:27:22,386 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:27:22,386 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_161|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_161| ULTIMATE.start_main_p5))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_161| ULTIMATE.start_main_p4) 0) (= 0 (select |v_#memory_int_161| ULTIMATE.start_main_p2)) (= .cse0 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 1 (select |v_#memory_int_161| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_161| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_161| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|))) [2019-01-07 14:27:22,386 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-01-07 14:27:22,447 INFO L273 TraceCheckUtils]: 0: Hoare triple {12391#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {12398#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-01-07 14:27:22,450 INFO L273 TraceCheckUtils]: 1: Hoare triple {12398#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {12402#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-01-07 14:27:22,452 INFO L273 TraceCheckUtils]: 2: Hoare triple {12402#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {12406#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-01-07 14:27:22,453 INFO L273 TraceCheckUtils]: 3: Hoare triple {12406#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {12406#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-01-07 14:27:22,454 INFO L273 TraceCheckUtils]: 4: Hoare triple {12406#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p2] <= 0); {12392#false} is VALID [2019-01-07 14:27:22,455 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:27:22,455 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-01-07 14:27:22,498 INFO L273 TraceCheckUtils]: 4: Hoare triple {12413#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {12392#false} is VALID [2019-01-07 14:27:22,498 INFO L273 TraceCheckUtils]: 3: Hoare triple {12413#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {12413#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-01-07 14:27:22,500 INFO L273 TraceCheckUtils]: 2: Hoare triple {12420#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {12413#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-01-07 14:27:22,501 INFO L273 TraceCheckUtils]: 1: Hoare triple {12424#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {12420#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-01-07 14:27:22,503 INFO L273 TraceCheckUtils]: 0: Hoare triple {12391#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {12424#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-01-07 14:27:22,503 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:27:22,522 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-01-07 14:27:22,522 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 3, 3] total 8 [2019-01-07 14:27:22,522 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-01-07 14:27:22,522 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 5 [2019-01-07 14:27:22,522 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-01-07 14:27:22,522 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states. [2019-01-07 14:27:22,538 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:27:22,538 INFO L459 AbstractCegarLoop]: Interpolant automaton has 7 states [2019-01-07 14:27:22,538 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2019-01-07 14:27:22,538 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=55, Unknown=0, NotChecked=0, Total=90 [2019-01-07 14:27:22,538 INFO L87 Difference]: Start difference. First operand 125 states and 745 transitions. Second operand 7 states. [2019-01-07 14:27:24,823 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:27:24,824 INFO L93 Difference]: Finished difference Result 158 states and 796 transitions. [2019-01-07 14:27:24,824 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-01-07 14:27:24,824 INFO L78 Accepts]: Start accepts. Automaton has 7 states. Word has length 5 [2019-01-07 14:27:24,824 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-01-07 14:27:24,824 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2019-01-07 14:27:24,824 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 70 transitions. [2019-01-07 14:27:24,824 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 7 states. [2019-01-07 14:27:24,825 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 70 transitions. [2019-01-07 14:27:24,825 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 70 transitions. [2019-01-07 14:27:24,954 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:27:24,958 INFO L225 Difference]: With dead ends: 158 [2019-01-07 14:27:24,958 INFO L226 Difference]: Without dead ends: 156 [2019-01-07 14:27:24,958 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 2 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=51, Invalid=81, Unknown=0, NotChecked=0, Total=132 [2019-01-07 14:27:24,959 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 156 states. [2019-01-07 14:27:26,305 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 156 to 128. [2019-01-07 14:27:26,305 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-01-07 14:27:26,306 INFO L82 GeneralOperation]: Start isEquivalent. First operand 156 states. Second operand 128 states. [2019-01-07 14:27:26,306 INFO L74 IsIncluded]: Start isIncluded. First operand 156 states. Second operand 128 states. [2019-01-07 14:27:26,306 INFO L87 Difference]: Start difference. First operand 156 states. Second operand 128 states. [2019-01-07 14:27:26,311 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:27:26,311 INFO L93 Difference]: Finished difference Result 156 states and 792 transitions. [2019-01-07 14:27:26,311 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 792 transitions. [2019-01-07 14:27:26,311 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:27:26,311 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:27:26,311 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand 156 states. [2019-01-07 14:27:26,311 INFO L87 Difference]: Start difference. First operand 128 states. Second operand 156 states. [2019-01-07 14:27:26,315 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:27:26,315 INFO L93 Difference]: Finished difference Result 156 states and 792 transitions. [2019-01-07 14:27:26,315 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 792 transitions. [2019-01-07 14:27:26,316 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:27:26,316 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:27:26,316 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-01-07 14:27:26,316 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-01-07 14:27:26,316 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 128 states. [2019-01-07 14:27:26,319 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 128 states to 128 states and 760 transitions. [2019-01-07 14:27:26,319 INFO L78 Accepts]: Start accepts. Automaton has 128 states and 760 transitions. Word has length 5 [2019-01-07 14:27:26,319 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-01-07 14:27:26,320 INFO L480 AbstractCegarLoop]: Abstraction has 128 states and 760 transitions. [2019-01-07 14:27:26,320 INFO L481 AbstractCegarLoop]: Interpolant automaton has 7 states. [2019-01-07 14:27:26,320 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 760 transitions. [2019-01-07 14:27:26,320 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-01-07 14:27:26,320 INFO L394 BasicCegarLoop]: Found error trace [2019-01-07 14:27:26,320 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-01-07 14:27:26,320 INFO L423 AbstractCegarLoop]: === Iteration 28 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-01-07 14:27:26,321 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:27:26,321 INFO L82 PathProgramCache]: Analyzing trace with hash 28831546, now seen corresponding path program 2 times [2019-01-07 14:27:26,321 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-01-07 14:27:26,321 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:27:26,321 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:27:26,321 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:27:26,321 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-01-07 14:27:26,327 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:27:26,533 INFO L273 TraceCheckUtils]: 0: Hoare triple {13238#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {13240#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p6)))} is VALID [2019-01-07 14:27:26,534 INFO L273 TraceCheckUtils]: 1: Hoare triple {13240#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {13241#(and (or (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (or (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (<= 1 (select |#memory_int| ULTIMATE.start_main_p6))) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p6)))} is VALID [2019-01-07 14:27:26,536 INFO L273 TraceCheckUtils]: 2: Hoare triple {13241#(and (or (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p1)) (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (or (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (<= 1 (select |#memory_int| ULTIMATE.start_main_p6))) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {13242#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:27:26,537 INFO L273 TraceCheckUtils]: 3: Hoare triple {13242#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {13243#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:27:26,537 INFO L273 TraceCheckUtils]: 4: Hoare triple {13243#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {13239#false} is VALID [2019-01-07 14:27:26,538 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:27:26,538 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:27:26,538 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-01-07 14:27:26,538 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2019-01-07 14:27:26,539 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2019-01-07 14:27:26,539 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:27:26,539 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 [2019-01-07 14:27:26,548 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2019-01-07 14:27:26,548 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2019-01-07 14:27:26,555 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2019-01-07 14:27:26,555 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2019-01-07 14:27:26,558 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:27:26,559 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-01-07 14:27:26,613 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:26,613 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 68 treesize of output 71 [2019-01-07 14:27:26,674 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:26,675 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:26,676 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 58 treesize of output 67 [2019-01-07 14:27:26,749 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:26,751 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:26,752 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:26,753 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:26,754 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 46 treesize of output 72 [2019-01-07 14:27:26,834 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:26,835 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:26,836 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:26,837 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:26,839 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:26,840 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:26,841 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 80 [2019-01-07 14:27:26,939 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:26,940 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:26,941 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:26,942 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:26,943 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:26,945 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:26,946 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:26,947 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:26,948 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 61 [2019-01-07 14:27:26,951 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-01-07 14:27:26,979 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:27,007 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:27,036 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:27,065 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:27,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, 5 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2019-01-07 14:27:27,115 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 9 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2019-01-07 14:27:27,129 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 12 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2019-01-07 14:27:27,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, 14 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2019-01-07 14:27:27,169 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 15 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2019-01-07 14:27:27,201 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 15 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 91 [2019-01-07 14:27:27,206 INFO L267 ElimStorePlain]: Start of recursive call 12: End of recursive call: and 1 xjuncts. [2019-01-07 14:27:27,243 INFO L267 ElimStorePlain]: Start of recursive call 11: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:27,265 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:27,282 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:27,296 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:27,309 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:27,357 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-01-07 14:27:27,357 INFO L202 ElimStorePlain]: Needed 12 recursive calls to eliminate 5 variables, input treesize:92, output treesize:91 [2019-01-07 14:27:27,370 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:27:27,370 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_164|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, |v_#valid_34|]. (let ((.cse2 (store |v_#valid_34| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse3 (store .cse1 ULTIMATE.start_main_p3 1))) (let ((.cse0 (store .cse3 ULTIMATE.start_main_p4 1))) (and (= 0 (select (store .cse0 ULTIMATE.start_main_p5 1) ULTIMATE.start_main_p6)) (= (select .cse1 ULTIMATE.start_main_p3) 0) (= (select .cse0 ULTIMATE.start_main_p5) 0) (= 0 (select .cse2 ULTIMATE.start_main_p2)) (= 0 (select .cse3 ULTIMATE.start_main_p4)) (= (store (store (store (store (store (store |v_#memory_int_164| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0) |#memory_int|)))))) [2019-01-07 14:27:27,370 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-01-07 14:27:27,496 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:27,497 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 16 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 97 [2019-01-07 14:27:27,503 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:27:27,559 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-01-07 14:27:27,559 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:101, output treesize:71 [2019-01-07 14:27:27,571 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:27:27,571 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_165|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_165| ULTIMATE.start_main_p1))) (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (= (select |v_#memory_int_165| ULTIMATE.start_main_p6) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_165| ULTIMATE.start_main_p2) 0) (= |#memory_int| (store |v_#memory_int_165| ULTIMATE.start_main_p1 (+ .cse0 1))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_165| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_165| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= .cse0 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= (select |v_#memory_int_165| ULTIMATE.start_main_p3) 0))) [2019-01-07 14:27:27,571 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-01-07 14:27:27,671 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:27,673 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:27,674 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:27,675 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:27,676 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:27,677 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:27,678 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:27,680 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:27,681 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 111 [2019-01-07 14:27:27,696 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:27:27,755 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. [2019-01-07 14:27:27,756 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:81, output treesize:55 [2019-01-07 14:27:27,810 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:27:27,811 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_166|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_166| ULTIMATE.start_main_p6))) (and (= (select |v_#memory_int_166| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_166| ULTIMATE.start_main_p1) 1) (= (select |v_#memory_int_166| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_166| ULTIMATE.start_main_p6 (+ .cse0 (- 1)))) (= (select |v_#memory_int_166| ULTIMATE.start_main_p5) 0) (= 0 .cse0) (= 0 (select |v_#memory_int_166| ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) [2019-01-07 14:27:27,811 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, ULTIMATE.start_main_p2]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-01-07 14:27:27,903 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:27,904 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:27,905 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:27,906 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:27,907 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:27,908 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:27,910 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:27,911 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:27,912 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:27,913 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:27,914 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:27,915 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:27,916 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:27,916 INFO L683 Elim1Store]: detected equality via solver [2019-01-07 14:27:27,917 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 18 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 118 [2019-01-07 14:27:27,923 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:27:27,982 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 1 xjuncts. [2019-01-07 14:27:27,983 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 6 variables, input treesize:67, output treesize:47 [2019-01-07 14:27:28,041 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:27:28,041 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_167|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p6, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_167| ULTIMATE.start_main_p4))) (and (= 0 (+ (select |v_#memory_int_167| ULTIMATE.start_main_p6) 1)) (= (select |v_#memory_int_167| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (store |v_#memory_int_167| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_167| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= .cse0 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_167| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_167| ULTIMATE.start_main_p2) 0))) [2019-01-07 14:27:28,041 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p6, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2019-01-07 14:27:28,089 INFO L273 TraceCheckUtils]: 0: Hoare triple {13238#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {13247#(and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2019-01-07 14:27:28,092 INFO L273 TraceCheckUtils]: 1: Hoare triple {13247#(and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p6)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {13251#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2019-01-07 14:27:28,095 INFO L273 TraceCheckUtils]: 2: Hoare triple {13251#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {13255#(and (exists ((ULTIMATE.start_main_p6 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-01-07 14:27:28,100 INFO L273 TraceCheckUtils]: 3: Hoare triple {13255#(and (exists ((ULTIMATE.start_main_p6 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {13259#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2019-01-07 14:27:28,101 INFO L273 TraceCheckUtils]: 4: Hoare triple {13259#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p6 Int)) (and (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p6) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} assume !(#memory_int[main_p1] >= 0); {13239#false} is VALID [2019-01-07 14:27:28,102 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:27:28,102 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-01-07 14:27:28,147 INFO L273 TraceCheckUtils]: 4: Hoare triple {13243#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {13239#false} is VALID [2019-01-07 14:27:28,148 INFO L273 TraceCheckUtils]: 3: Hoare triple {13242#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {13243#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:27:28,149 INFO L273 TraceCheckUtils]: 2: Hoare triple {13269#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {13242#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:27:28,151 INFO L273 TraceCheckUtils]: 1: Hoare triple {13273#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {13269#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:27:28,153 INFO L273 TraceCheckUtils]: 0: Hoare triple {13238#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {13273#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-01-07 14:27:28,153 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:27:28,173 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-01-07 14:27:28,173 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 10 [2019-01-07 14:27:28,173 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-01-07 14:27:28,173 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-01-07 14:27:28,174 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-01-07 14:27:28,174 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-01-07 14:27:28,193 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:27:28,193 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-01-07 14:27:28,193 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-01-07 14:27:28,193 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=83, Unknown=0, NotChecked=0, Total=132 [2019-01-07 14:27:28,194 INFO L87 Difference]: Start difference. First operand 128 states and 760 transitions. Second operand 10 states. [2019-01-07 14:27:31,598 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:27:31,598 INFO L93 Difference]: Finished difference Result 241 states and 1191 transitions. [2019-01-07 14:27:31,598 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2019-01-07 14:27:31,599 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-01-07 14:27:31,599 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-01-07 14:27:31,599 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-01-07 14:27:31,599 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 127 transitions. [2019-01-07 14:27:31,599 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-01-07 14:27:31,600 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 127 transitions. [2019-01-07 14:27:31,600 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 127 transitions. [2019-01-07 14:27:31,799 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 127 edges. 127 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:27:31,804 INFO L225 Difference]: With dead ends: 241 [2019-01-07 14:27:31,804 INFO L226 Difference]: Without dead ends: 235 [2019-01-07 14:27:31,804 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 39 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=72, Invalid=138, Unknown=0, NotChecked=0, Total=210 [2019-01-07 14:27:31,805 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 235 states. [2019-01-07 14:27:32,971 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 235 to 164. [2019-01-07 14:27:32,971 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-01-07 14:27:32,972 INFO L82 GeneralOperation]: Start isEquivalent. First operand 235 states. Second operand 164 states. [2019-01-07 14:27:32,972 INFO L74 IsIncluded]: Start isIncluded. First operand 235 states. Second operand 164 states. [2019-01-07 14:27:32,972 INFO L87 Difference]: Start difference. First operand 235 states. Second operand 164 states. [2019-01-07 14:27:32,979 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:27:32,979 INFO L93 Difference]: Finished difference Result 235 states and 1172 transitions. [2019-01-07 14:27:32,979 INFO L276 IsEmpty]: Start isEmpty. Operand 235 states and 1172 transitions. [2019-01-07 14:27:32,980 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:27:32,980 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:27:32,980 INFO L74 IsIncluded]: Start isIncluded. First operand 164 states. Second operand 235 states. [2019-01-07 14:27:32,980 INFO L87 Difference]: Start difference. First operand 164 states. Second operand 235 states. [2019-01-07 14:27:32,987 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-01-07 14:27:32,987 INFO L93 Difference]: Finished difference Result 235 states and 1172 transitions. [2019-01-07 14:27:32,987 INFO L276 IsEmpty]: Start isEmpty. Operand 235 states and 1172 transitions. [2019-01-07 14:27:32,987 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-01-07 14:27:32,987 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-01-07 14:27:32,988 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-01-07 14:27:32,988 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-01-07 14:27:32,988 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 164 states. [2019-01-07 14:27:32,992 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 164 states to 164 states and 1007 transitions. [2019-01-07 14:27:32,993 INFO L78 Accepts]: Start accepts. Automaton has 164 states and 1007 transitions. Word has length 5 [2019-01-07 14:27:32,993 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-01-07 14:27:32,993 INFO L480 AbstractCegarLoop]: Abstraction has 164 states and 1007 transitions. [2019-01-07 14:27:32,993 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-01-07 14:27:32,993 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 1007 transitions. [2019-01-07 14:27:32,993 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-01-07 14:27:32,993 INFO L394 BasicCegarLoop]: Found error trace [2019-01-07 14:27:32,993 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-01-07 14:27:32,994 INFO L423 AbstractCegarLoop]: === Iteration 29 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr5ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT]=== [2019-01-07 14:27:32,994 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:27:32,994 INFO L82 PathProgramCache]: Analyzing trace with hash 28831858, now seen corresponding path program 1 times [2019-01-07 14:27:32,994 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-01-07 14:27:32,994 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:27:32,995 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2019-01-07 14:27:32,995 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-01-07 14:27:32,995 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-01-07 14:27:33,001 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:27:33,265 INFO L273 TraceCheckUtils]: 0: Hoare triple {14451#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {14453#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-01-07 14:27:33,266 INFO L273 TraceCheckUtils]: 1: Hoare triple {14453#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {14453#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-01-07 14:27:33,267 INFO L273 TraceCheckUtils]: 2: Hoare triple {14453#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {14454#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2019-01-07 14:27:33,267 INFO L273 TraceCheckUtils]: 3: Hoare triple {14454#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {14455#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-01-07 14:27:33,268 INFO L273 TraceCheckUtils]: 4: Hoare triple {14455#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {14452#false} is VALID [2019-01-07 14:27:33,269 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-01-07 14:27:33,269 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:27:33,269 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-01-07 14:27:33,269 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-01-07 14:27:33,269 INFO L207 CegarAbsIntRunner]: [0], [6], [24], [28], [29] [2019-01-07 14:27:33,270 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-01-07 14:27:33,271 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-01-07 14:27:33,282 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-01-07 14:27:33,282 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 2. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-01-07 14:27:33,282 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-01-07 14:27:33,282 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-01-07 14:27:33,282 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-01-07 14:27:33,282 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 [2019-01-07 14:27:33,294 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-01-07 14:27:33,294 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-01-07 14:27:33,306 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:27:33,326 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-01-07 14:27:33,326 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-01-07 14:27:33,383 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 24 [2019-01-07 14:27:33,390 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 30 [2019-01-07 14:27:33,400 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:33,401 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:33,401 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2019-01-07 14:27:33,412 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:33,414 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:33,415 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:33,415 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 54 [2019-01-07 14:27:33,431 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:33,433 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:33,434 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:33,435 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:33,436 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 72 [2019-01-07 14:27:33,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, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 71 [2019-01-07 14:27:33,466 INFO L267 ElimStorePlain]: Start of recursive call 7: End of recursive call: and 1 xjuncts. [2019-01-07 14:27:33,499 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:33,523 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:33,563 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:33,580 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:33,595 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:33,626 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:33,626 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2019-01-07 14:27:33,677 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:33,678 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:33,679 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2019-01-07 14:27:33,737 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:33,738 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:33,740 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:33,741 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:33,741 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2019-01-07 14:27:33,811 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:33,812 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:33,814 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:33,815 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:33,816 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:33,817 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:33,817 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2019-01-07 14:27:33,820 INFO L267 ElimStorePlain]: Start of recursive call 11: End of recursive call: and 1 xjuncts. [2019-01-07 14:27:33,838 INFO L267 ElimStorePlain]: Start of recursive call 10: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:33,874 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:33,889 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-01-07 14:27:33,932 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-01-07 14:27:33,933 INFO L202 ElimStorePlain]: Needed 11 recursive calls to eliminate 5 variables, input treesize:72, output treesize:71 [2019-01-07 14:27:33,946 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:27:33,946 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_171|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, |v_#valid_35|]. (let ((.cse0 (store |v_#valid_35| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse0 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse2 ULTIMATE.start_main_p3 1))) (and (= (select .cse0 ULTIMATE.start_main_p2) 0) (= |#memory_int| (store (store (store (store (store (store |v_#memory_int_171| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) ULTIMATE.start_main_p6 0)) (= 0 (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= (select .cse2 ULTIMATE.start_main_p3) 0) (= (select .cse1 ULTIMATE.start_main_p4) 0))))) [2019-01-07 14:27:33,946 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) [2019-01-07 14:27:34,246 WARN L181 SmtUtils]: Spent 280.00 ms on a formula simplification that was a NOOP. DAG size: 43 [2019-01-07 14:27:34,571 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:34,580 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 11 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 41 treesize of output 81 [2019-01-07 14:27:34,586 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 2 xjuncts. [2019-01-07 14:27:34,704 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 7 dim-0 vars, and 2 xjuncts. [2019-01-07 14:27:34,704 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:81, output treesize:106 [2019-01-07 14:27:36,968 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:27:36,969 WARN L385 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_172|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_172| ULTIMATE.start_main_p1))) (and (= (store |v_#memory_int_172| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_172| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_172| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_172| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 .cse0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_172| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_172| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2019-01-07 14:27:36,969 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, v_prenex_6, v_prenex_4, v_prenex_5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse1 (select |#memory_int| ULTIMATE.start_main_p6)) (.cse0 (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (or (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= v_prenex_6 v_prenex_4)) (not (= v_prenex_6 v_prenex_5)) (= 0 (select |#memory_int| v_prenex_5)) (not (= ULTIMATE.start_main_p2 v_prenex_5)) (not (= v_prenex_6 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 v_prenex_4)) (not (= v_prenex_5 v_prenex_4)) .cse0 (= (select |#memory_int| v_prenex_6) 0) (= (select |#memory_int| v_prenex_4) 0) (= 0 .cse1)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 1 .cse1) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) .cse0 (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)))) [2019-01-07 14:27:37,199 WARN L181 SmtUtils]: Spent 199.00 ms on a formula simplification that was a NOOP. DAG size: 63 [2019-01-07 14:27:37,277 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:37,278 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:37,279 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:37,280 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:37,281 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:37,282 INFO L683 Elim1Store]: detected equality via solver [2019-01-07 14:27:37,283 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 60 treesize of output 72 [2019-01-07 14:27:37,288 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-01-07 14:27:37,370 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:37,374 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:37,376 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:37,378 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:37,380 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:37,382 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:37,383 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:37,384 INFO L701 Elim1Store]: detected not equals via solver [2019-01-07 14:27:37,414 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 6 select indices, 6 select index equivalence classes, 14 disjoint index pairs (out of 15 index pairs), introduced 0 new quantified variables, introduced 8 case distinctions, treesize of input 65 treesize of output 107 [2019-01-07 14:27:37,426 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 16 xjuncts. [2019-01-07 14:27:37,778 INFO L267 ElimStorePlain]: Start of recursive call 1: 9 dim-0 vars, 2 dim-1 vars, End of recursive call: 25 dim-0 vars, and 6 xjuncts. [2019-01-07 14:27:37,779 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 11 variables, input treesize:126, output treesize:280 [2019-01-07 14:27:40,363 WARN L384 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-01-07 14:27:40,363 WARN L385 uantifierElimination]: Input elimination task: ∃ [v_prenex_8, v_prenex_7, v_prenex_6, v_prenex_5, v_prenex_4, ULTIMATE.start_main_p1, |v_#memory_int_173|, ULTIMATE.start_main_p6, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (or (let ((.cse0 (select v_prenex_8 v_prenex_7))) (and (= 0 .cse0) (= (store v_prenex_8 v_prenex_7 (+ .cse0 (- 1))) |#memory_int|) (not (= v_prenex_6 ULTIMATE.start_main_p2)) (= 0 (select v_prenex_8 ULTIMATE.start_main_p2)) (= 0 (select v_prenex_8 v_prenex_5)) (not (= v_prenex_6 v_prenex_5)) (= 0 (select v_prenex_8 v_prenex_4)) (not (= v_prenex_6 v_prenex_4)) (= 0 (select v_prenex_8 v_prenex_6)) (= 1 (select v_prenex_8 ULTIMATE.start_main_p1)) (not (= v_prenex_5 v_prenex_4)) (not (= ULTIMATE.start_main_p2 v_prenex_4)) (not (= ULTIMATE.start_main_p2 v_prenex_5)))) (let ((.cse1 (select |v_#memory_int_173| ULTIMATE.start_main_p6))) (and (= 0 (select |v_#memory_int_173| ULTIMATE.start_main_p5)) (= (store |v_#memory_int_173| ULTIMATE.start_main_p6 (+ .cse1 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_173| ULTIMATE.start_main_p2)) (= 1 .cse1) (= 0 (select |v_#memory_int_173| ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_173| ULTIMATE.start_main_p3))))) [2019-01-07 14:27:40,364 WARN L386 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_20, v_prenex_21, v_prenex_23, v_prenex_24, v_prenex_22, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p6, v_prenex_16, v_prenex_17, v_prenex_18, v_prenex_19, ULTIMATE.start_main_p1, v_prenex_6, v_prenex_4, v_prenex_5, v_prenex_15, v_prenex_13, v_prenex_14, v_prenex_7, v_prenex_12, v_prenex_9, v_prenex_10, v_prenex_11]. (let ((.cse1 (select |#memory_int| ULTIMATE.start_main_p2))) (let ((.cse0 (= 0 .cse1))) (or (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) .cse0 (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))) (and (= (select |#memory_int| v_prenex_20) 1) (not (= v_prenex_21 v_prenex_23)) (= (select |#memory_int| v_prenex_21) 0) (not (= v_prenex_24 v_prenex_23)) (= (select |#memory_int| v_prenex_23) 0) (= (select |#memory_int| v_prenex_22) (- 1)) .cse0 (not (= v_prenex_21 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 v_prenex_23)) (not (= ULTIMATE.start_main_p2 v_prenex_24)) (not (= v_prenex_21 v_prenex_24)) (= (select |#memory_int| v_prenex_24) 0)) (and (= (select |#memory_int| v_prenex_16) 1) (not (= v_prenex_17 v_prenex_18)) (= (select |#memory_int| v_prenex_17) 0) (= 0 (+ .cse1 1)) (not (= v_prenex_19 v_prenex_18)) (= (select |#memory_int| v_prenex_18) 0) (not (= v_prenex_17 v_prenex_19)) (= (select |#memory_int| v_prenex_19) 0)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= v_prenex_6 v_prenex_4)) (= (select |#memory_int| v_prenex_6) 0) (= (select |#memory_int| v_prenex_4) 0) .cse0 (not (= v_prenex_6 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 v_prenex_4)) (= (+ (select |#memory_int| v_prenex_5) 1) 0)) (and (= (select |#memory_int| v_prenex_15) 1) (= (select |#memory_int| v_prenex_13) 0) (not (= v_prenex_14 v_prenex_13)) (= (select |#memory_int| v_prenex_7) (- 1)) .cse0 (not (= ULTIMATE.start_main_p2 v_prenex_13)) (not (= ULTIMATE.start_main_p2 v_prenex_14)) (= (select |#memory_int| v_prenex_14) 0)) (and (= (select |#memory_int| v_prenex_12) 1) (= (select |#memory_int| v_prenex_9) 0) (= (+ (select |#memory_int| v_prenex_10) 1) 0) .cse0 (not (= v_prenex_9 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 v_prenex_11)) (not (= v_prenex_9 v_prenex_11)) (= (select |#memory_int| v_prenex_11) 0))))) [2019-01-07 14:27:40,682 WARN L181 SmtUtils]: Spent 159.00 ms on a formula simplification. DAG size of input: 171 DAG size of output: 90 [2019-01-07 14:27:40,796 INFO L273 TraceCheckUtils]: 0: Hoare triple {14451#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {14459#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} is VALID [2019-01-07 14:27:40,799 INFO L273 TraceCheckUtils]: 1: Hoare triple {14459#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {14463#(or (and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 1 (select |#memory_int| ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2))) (and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((v_prenex_6 Int) (v_prenex_4 Int) (v_prenex_5 Int)) (and (= 0 (select |#memory_int| v_prenex_5)) (not (= v_prenex_6 v_prenex_4)) (= (select |#memory_int| v_prenex_6) 0) (= (select |#memory_int| v_prenex_4) 0) (not (= v_prenex_5 v_prenex_4)) (not (= v_prenex_6 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 v_prenex_4)) (not (= ULTIMATE.start_main_p2 v_prenex_5)) (not (= v_prenex_6 v_prenex_5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))))} is VALID [2019-01-07 14:27:40,822 INFO L273 TraceCheckUtils]: 2: Hoare triple {14463#(or (and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 1 (select |#memory_int| ULTIMATE.start_main_p6)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2))) (and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((v_prenex_6 Int) (v_prenex_4 Int) (v_prenex_5 Int)) (and (= 0 (select |#memory_int| v_prenex_5)) (not (= v_prenex_6 v_prenex_4)) (= (select |#memory_int| v_prenex_6) 0) (= (select |#memory_int| v_prenex_4) 0) (not (= v_prenex_5 v_prenex_4)) (not (= v_prenex_6 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 v_prenex_4)) (not (= ULTIMATE.start_main_p2 v_prenex_5)) (not (= v_prenex_6 v_prenex_5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p6))))} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {14467#(or (and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2))) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((v_prenex_16 Int)) (= (select |#memory_int| v_prenex_16) 1)) (exists ((v_prenex_18 Int) (v_prenex_17 Int) (v_prenex_19 Int)) (and (= (select |#memory_int| v_prenex_18) 0) (not (= v_prenex_19 v_prenex_18)) (= (select |#memory_int| v_prenex_19) 0) (not (= v_prenex_17 v_prenex_18)) (= (select |#memory_int| v_prenex_17) 0) (not (= v_prenex_17 v_prenex_19))))) (and (exists ((v_prenex_15 Int)) (= (select |#memory_int| v_prenex_15) 1)) (exists ((v_prenex_14 Int) (v_prenex_13 Int)) (and (not (= ULTIMATE.start_main_p2 v_prenex_14)) (= (select |#memory_int| v_prenex_14) 0) (= (select |#memory_int| v_prenex_13) 0) (not (= v_prenex_14 v_prenex_13)) (not (= ULTIMATE.start_main_p2 v_prenex_13)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((v_prenex_7 Int)) (= (+ (select |#memory_int| v_prenex_7) 1) 0))))} is VALID [2019-01-07 14:27:40,823 INFO L273 TraceCheckUtils]: 3: Hoare triple {14467#(or (and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2))) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((v_prenex_16 Int)) (= (select |#memory_int| v_prenex_16) 1)) (exists ((v_prenex_18 Int) (v_prenex_17 Int) (v_prenex_19 Int)) (and (= (select |#memory_int| v_prenex_18) 0) (not (= v_prenex_19 v_prenex_18)) (= (select |#memory_int| v_prenex_19) 0) (not (= v_prenex_17 v_prenex_18)) (= (select |#memory_int| v_prenex_17) 0) (not (= v_prenex_17 v_prenex_19))))) (and (exists ((v_prenex_15 Int)) (= (select |#memory_int| v_prenex_15) 1)) (exists ((v_prenex_14 Int) (v_prenex_13 Int)) (and (not (= ULTIMATE.start_main_p2 v_prenex_14)) (= (select |#memory_int| v_prenex_14) 0) (= (select |#memory_int| v_prenex_13) 0) (not (= v_prenex_14 v_prenex_13)) (not (= ULTIMATE.start_main_p2 v_prenex_13)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((v_prenex_7 Int)) (= (+ (select |#memory_int| v_prenex_7) 1) 0))))} assume #memory_int[main_p1] >= 0; {14467#(or (and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2))) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((v_prenex_16 Int)) (= (select |#memory_int| v_prenex_16) 1)) (exists ((v_prenex_18 Int) (v_prenex_17 Int) (v_prenex_19 Int)) (and (= (select |#memory_int| v_prenex_18) 0) (not (= v_prenex_19 v_prenex_18)) (= (select |#memory_int| v_prenex_19) 0) (not (= v_prenex_17 v_prenex_18)) (= (select |#memory_int| v_prenex_17) 0) (not (= v_prenex_17 v_prenex_19))))) (and (exists ((v_prenex_15 Int)) (= (select |#memory_int| v_prenex_15) 1)) (exists ((v_prenex_14 Int) (v_prenex_13 Int)) (and (not (= ULTIMATE.start_main_p2 v_prenex_14)) (= (select |#memory_int| v_prenex_14) 0) (= (select |#memory_int| v_prenex_13) 0) (not (= v_prenex_14 v_prenex_13)) (not (= ULTIMATE.start_main_p2 v_prenex_13)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((v_prenex_7 Int)) (= (+ (select |#memory_int| v_prenex_7) 1) 0))))} is VALID [2019-01-07 14:27:40,824 INFO L273 TraceCheckUtils]: 4: Hoare triple {14467#(or (and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p6 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p6)) (not (= ULTIMATE.start_main_p6 ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2))) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((v_prenex_16 Int)) (= (select |#memory_int| v_prenex_16) 1)) (exists ((v_prenex_18 Int) (v_prenex_17 Int) (v_prenex_19 Int)) (and (= (select |#memory_int| v_prenex_18) 0) (not (= v_prenex_19 v_prenex_18)) (= (select |#memory_int| v_prenex_19) 0) (not (= v_prenex_17 v_prenex_18)) (= (select |#memory_int| v_prenex_17) 0) (not (= v_prenex_17 v_prenex_19))))) (and (exists ((v_prenex_15 Int)) (= (select |#memory_int| v_prenex_15) 1)) (exists ((v_prenex_14 Int) (v_prenex_13 Int)) (and (not (= ULTIMATE.start_main_p2 v_prenex_14)) (= (select |#memory_int| v_prenex_14) 0) (= (select |#memory_int| v_prenex_13) 0) (not (= v_prenex_14 v_prenex_13)) (not (= ULTIMATE.start_main_p2 v_prenex_13)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((v_prenex_7 Int)) (= (+ (select |#memory_int| v_prenex_7) 1) 0))))} assume !(#memory_int[main_p2] <= 0); {14452#false} is VALID [2019-01-07 14:27:40,825 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:27:40,825 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-01-07 14:27:40,879 INFO L273 TraceCheckUtils]: 4: Hoare triple {14474#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {14452#false} is VALID [2019-01-07 14:27:40,880 INFO L273 TraceCheckUtils]: 3: Hoare triple {14474#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {14474#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-01-07 14:27:40,881 INFO L273 TraceCheckUtils]: 2: Hoare triple {14481#(<= (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p6 := #memory_int[main_p6] - 1]; {14474#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-01-07 14:27:40,882 INFO L273 TraceCheckUtils]: 1: Hoare triple {14485#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {14481#(<= (select (store |#memory_int| ULTIMATE.start_main_p6 (+ (select |#memory_int| ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2) 0)} is VALID [2019-01-07 14:27:40,885 INFO L273 TraceCheckUtils]: 0: Hoare triple {14451#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5, main_p6;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p6 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0];#memory_int := #memory_int[main_p6 := 0]; {14485#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p6) (- 1))) ULTIMATE.start_main_p2) 0)} is VALID [2019-01-07 14:27:40,885 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-01-07 14:27:40,905 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-01-07 14:27:40,905 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-01-07 14:27:40,905 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-01-07 14:27:40,905 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-01-07 14:27:40,905 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-01-07 14:27:40,905 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-01-07 14:27:40,980 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-01-07 14:27:40,981 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-01-07 14:27:40,981 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-01-07 14:27:40,981 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=67, Unknown=0, NotChecked=0, Total=110 [2019-01-07 14:27:40,981 INFO L87 Difference]: Start difference. First operand 164 states and 1007 transitions. Second operand 8 states. [2019-01-07 14:27:41,529 WARN L181 SmtUtils]: Spent 511.00 ms on a formula simplification. DAG size of input: 52 DAG size of output: 46 [2019-01-07 14:27:42,392 WARN L181 SmtUtils]: Spent 562.00 ms on a formula simplification. DAG size of input: 72 DAG size of output: 70 [2019-01-07 14:27:43,660 WARN L181 SmtUtils]: Spent 188.00 ms on a formula simplification. DAG size of input: 99 DAG size of output: 72 [2019-01-07 14:27:45,861 WARN L194 Executor]: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000) stderr output: (error "out of memory") [2019-01-07 14:27:45,861 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-01-07 14:27:45,862 FATAL L265 ToolchainWalker]: An unrecoverable error occured during an interaction with an SMT solver: de.uni_freiburg.informatik.ultimate.logic.SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000)Received EOF on stdin. stderr output: (error "out of memory") at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:208) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parseCheckSatResult(Executor.java:225) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Scriptor.checkSat(Scriptor.java:155) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.WrapperScript.checkSat(WrapperScript.java:116) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.PredicateUtils.isInductiveHelper(PredicateUtils.java:346) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.hoaretriple.MonolithicHoareTripleChecker.isInductive(MonolithicHoareTripleChecker.java:208) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.hoaretriple.MonolithicHoareTripleChecker.isInductive(MonolithicHoareTripleChecker.java:163) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.hoaretriple.MonolithicHoareTripleChecker.checkInternal(MonolithicHoareTripleChecker.java:90) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.EfficientHoareTripleChecker.reviewInductiveInternal(EfficientHoareTripleChecker.java:113) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.EfficientHoareTripleChecker.checkInternal(EfficientHoareTripleChecker.java:67) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.CachingHoareTripleChecker.checkInternal(CachingHoareTripleChecker.java:98) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.interpolantautomata.transitionappender.AbstractInterpolantAutomaton$InternalSuccessorComputationHelper.computeSuccWithSolver(AbstractInterpolantAutomaton.java:359) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.interpolantautomata.transitionappender.DeterministicInterpolantAutomaton.addOtherSuccessors(DeterministicInterpolantAutomaton.java:197) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.interpolantautomata.transitionappender.BasicAbstractInterpolantAutomaton.computeSuccs(BasicAbstractInterpolantAutomaton.java:77) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.interpolantautomata.transitionappender.BasicAbstractInterpolantAutomaton.computeSuccs(BasicAbstractInterpolantAutomaton.java:1) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.interpolantautomata.transitionappender.AbstractInterpolantAutomaton.internalSuccessors(AbstractInterpolantAutomaton.java:234) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.interpolantautomata.transitionappender.AbstractInterpolantAutomaton.internalSuccessors(AbstractInterpolantAutomaton.java:1) at de.uni_freiburg.informatik.ultimate.automata.nestedword.operations.TotalizeNwa.internalSuccessors(TotalizeNwa.java:213) at de.uni_freiburg.informatik.ultimate.automata.nestedword.operations.ComplementDeterministicNwa.internalSuccessors(ComplementDeterministicNwa.java:121) at de.uni_freiburg.informatik.ultimate.automata.nestedword.operations.ProductNwa.internalSuccessors(ProductNwa.java:216) at de.uni_freiburg.informatik.ultimate.automata.nestedword.operations.ProductNwa.internalSuccessors(ProductNwa.java:208) at de.uni_freiburg.informatik.ultimate.automata.nestedword.reachablestates.NestedWordAutomatonReachableStates$ReachableStatesComputation.addInternalsAndSuccessors(NestedWordAutomatonReachableStates.java:1066) at de.uni_freiburg.informatik.ultimate.automata.nestedword.reachablestates.NestedWordAutomatonReachableStates$ReachableStatesComputation.(NestedWordAutomatonReachableStates.java:968) at de.uni_freiburg.informatik.ultimate.automata.nestedword.reachablestates.NestedWordAutomatonReachableStates.(NestedWordAutomatonReachableStates.java:188) at de.uni_freiburg.informatik.ultimate.automata.nestedword.operations.Difference.computeDifference(Difference.java:137) at de.uni_freiburg.informatik.ultimate.automata.nestedword.operations.Difference.(Difference.java:90) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.computeAutomataDifference(BasicCegarLoop.java:699) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.refineAbstraction(BasicCegarLoop.java:628) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterateInternal(AbstractCegarLoop.java:472) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:376) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.iterate(TraceAbstractionStarter.java:334) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:174) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:126) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:316) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) Caused by: de.uni_freiburg.informatik.ultimate.logic.SMTLIBException: EOF at de.uni_freiburg.informatik.ultimate.smtsolver.external.Parser$Action$.CUP$do_action(Parser.java:1427) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Parser.do_action(Parser.java:630) at com.github.jhoenicke.javacup.runtime.LRParser.parse(LRParser.java:419) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:205) ... 43 more [2019-01-07 14:27:45,867 INFO L168 Benchmark]: Toolchain (without parser) took 190600.90 ms. Allocated memory was 1.5 GB in the beginning and 2.5 GB in the end (delta: 974.7 MB). Free memory was 1.5 GB in the beginning and 2.3 GB in the end (delta: -863.3 MB). Peak memory consumption was 111.3 MB. Max. memory is 7.1 GB. [2019-01-07 14:27:45,868 INFO L168 Benchmark]: Boogie PL CUP Parser took 0.22 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. [2019-01-07 14:27:45,868 INFO L168 Benchmark]: Boogie Procedure Inliner took 67.01 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. [2019-01-07 14:27:45,868 INFO L168 Benchmark]: Boogie Preprocessor took 27.13 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. [2019-01-07 14:27:45,869 INFO L168 Benchmark]: RCFGBuilder took 784.28 ms. Allocated memory is still 1.5 GB. Free memory was 1.5 GB in the beginning and 1.4 GB in the end (delta: 31.7 MB). Peak memory consumption was 31.7 MB. Max. memory is 7.1 GB. [2019-01-07 14:27:45,869 INFO L168 Benchmark]: TraceAbstraction took 189716.91 ms. Allocated memory was 1.5 GB in the beginning and 2.5 GB in the end (delta: 974.7 MB). Free memory was 1.4 GB in the beginning and 2.3 GB in the end (delta: -895.1 MB). Peak memory consumption was 79.6 MB. Max. memory is 7.1 GB. [2019-01-07 14:27:45,870 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - GenericResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * Boogie PL CUP Parser took 0.22 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. * Boogie Procedure Inliner took 67.01 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. * Boogie Preprocessor took 27.13 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. * RCFGBuilder took 784.28 ms. Allocated memory is still 1.5 GB. Free memory was 1.5 GB in the beginning and 1.4 GB in the end (delta: 31.7 MB). Peak memory consumption was 31.7 MB. Max. memory is 7.1 GB. * TraceAbstraction took 189716.91 ms. Allocated memory was 1.5 GB in the beginning and 2.5 GB in the end (delta: 974.7 MB). Free memory was 1.4 GB in the beginning and 2.3 GB in the end (delta: -895.1 MB). Peak memory consumption was 79.6 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000)Received EOF on stdin. stderr output: (error "out of memory") de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: SMTLIBException: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000)Received EOF on stdin. stderr output: (error "out of memory") : de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:208) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...