java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/AutomizerBplInline.xml -s ../../../trunk/examples/settings/ai/array-bench/reach_32bit_compound_exp_cong.epf -i ../../../trunk/examples/programs/heapseparator/speedup-poc-dd-5-unlimited.bpl -------------------------------------------------------------------------------- This is Ultimate 0.1.24-4b9831f [2018-12-23 14:19:07,888 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-12-23 14:19:07,890 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-12-23 14:19:07,904 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-12-23 14:19:07,905 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-12-23 14:19:07,906 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-12-23 14:19:07,907 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-12-23 14:19:07,909 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-12-23 14:19:07,911 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-12-23 14:19:07,912 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-12-23 14:19:07,913 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-12-23 14:19:07,913 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-12-23 14:19:07,914 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-12-23 14:19:07,915 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-12-23 14:19:07,916 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-12-23 14:19:07,917 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-12-23 14:19:07,918 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-12-23 14:19:07,920 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-12-23 14:19:07,923 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-12-23 14:19:07,924 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-12-23 14:19:07,926 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-12-23 14:19:07,927 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-12-23 14:19:07,930 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-12-23 14:19:07,930 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-12-23 14:19:07,930 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-12-23 14:19:07,931 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-12-23 14:19:07,932 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-12-23 14:19:07,933 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-12-23 14:19:07,934 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-12-23 14:19:07,936 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-12-23 14:19:07,936 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-12-23 14:19:07,937 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-12-23 14:19:07,937 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-12-23 14:19:07,938 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-12-23 14:19:07,940 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-12-23 14:19:07,940 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-12-23 14:19:07,941 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/ai/array-bench/reach_32bit_compound_exp_cong.epf [2018-12-23 14:19:07,965 INFO L110 SettingsManager]: Loading preferences was successful [2018-12-23 14:19:07,966 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-12-23 14:19:07,968 INFO L131 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2018-12-23 14:19:07,968 INFO L133 SettingsManager]: * Show backtranslation warnings=false [2018-12-23 14:19:07,968 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-12-23 14:19:07,969 INFO L133 SettingsManager]: * User list type=DISABLED [2018-12-23 14:19:07,969 INFO L133 SettingsManager]: * Inline calls to unimplemented procedures=true [2018-12-23 14:19:07,969 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2018-12-23 14:19:07,969 INFO L133 SettingsManager]: * Explicit value domain=true [2018-12-23 14:19:07,970 INFO L133 SettingsManager]: * Abstract domain for RCFG-of-the-future=PoormanAbstractDomain [2018-12-23 14:19:07,970 INFO L133 SettingsManager]: * Octagon Domain=false [2018-12-23 14:19:07,970 INFO L133 SettingsManager]: * Abstract domain=CompoundDomain [2018-12-23 14:19:07,970 INFO L133 SettingsManager]: * Check feasibility of abstract posts with an SMT solver=true [2018-12-23 14:19:07,970 INFO L133 SettingsManager]: * Interval Domain=false [2018-12-23 14:19:07,971 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-12-23 14:19:07,971 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-12-23 14:19:07,971 INFO L133 SettingsManager]: * Use SBE=true [2018-12-23 14:19:07,972 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-12-23 14:19:07,973 INFO L133 SettingsManager]: * sizeof long=4 [2018-12-23 14:19:07,973 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-12-23 14:19:07,973 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-12-23 14:19:07,973 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-12-23 14:19:07,973 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-12-23 14:19:07,974 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-12-23 14:19:07,974 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-12-23 14:19:07,975 INFO L133 SettingsManager]: * sizeof long double=12 [2018-12-23 14:19:07,975 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-12-23 14:19:07,975 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-12-23 14:19:07,975 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-12-23 14:19:07,975 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-12-23 14:19:07,976 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-12-23 14:19:07,976 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-12-23 14:19:07,976 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-12-23 14:19:07,976 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-12-23 14:19:07,976 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-12-23 14:19:07,976 INFO L133 SettingsManager]: * Trace refinement strategy=TAIPAN [2018-12-23 14:19:07,977 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-12-23 14:19:07,977 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-12-23 14:19:07,977 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-12-23 14:19:07,977 INFO L133 SettingsManager]: * Abstract interpretation Mode=USE_PREDICATES [2018-12-23 14:19:08,018 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-12-23 14:19:08,038 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-12-23 14:19:08,046 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-12-23 14:19:08,047 INFO L271 PluginConnector]: Initializing Boogie PL CUP Parser... [2018-12-23 14:19:08,048 INFO L276 PluginConnector]: Boogie PL CUP Parser initialized [2018-12-23 14:19:08,049 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/heapseparator/speedup-poc-dd-5-unlimited.bpl [2018-12-23 14:19:08,049 INFO L111 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/heapseparator/speedup-poc-dd-5-unlimited.bpl' [2018-12-23 14:19:08,118 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-12-23 14:19:08,121 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2018-12-23 14:19:08,121 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-12-23 14:19:08,122 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-12-23 14:19:08,122 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-12-23 14:19:08,143 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "speedup-poc-dd-5-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.12 02:19:08" (1/1) ... [2018-12-23 14:19:08,158 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "speedup-poc-dd-5-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.12 02:19:08" (1/1) ... [2018-12-23 14:19:08,196 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-12-23 14:19:08,197 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-12-23 14:19:08,198 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-12-23 14:19:08,198 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-12-23 14:19:08,212 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "speedup-poc-dd-5-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.12 02:19:08" (1/1) ... [2018-12-23 14:19:08,212 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "speedup-poc-dd-5-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.12 02:19:08" (1/1) ... [2018-12-23 14:19:08,214 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "speedup-poc-dd-5-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.12 02:19:08" (1/1) ... [2018-12-23 14:19:08,214 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "speedup-poc-dd-5-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.12 02:19:08" (1/1) ... [2018-12-23 14:19:08,221 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "speedup-poc-dd-5-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.12 02:19:08" (1/1) ... [2018-12-23 14:19:08,232 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "speedup-poc-dd-5-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.12 02:19:08" (1/1) ... [2018-12-23 14:19:08,237 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "speedup-poc-dd-5-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.12 02:19:08" (1/1) ... [2018-12-23 14:19:08,239 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-12-23 14:19:08,244 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-12-23 14:19:08,245 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-12-23 14:19:08,245 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-12-23 14:19:08,246 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "speedup-poc-dd-5-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.12 02:19:08" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-12-23 14:19:08,317 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-12-23 14:19:08,317 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-12-23 14:19:08,899 INFO L275 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-12-23 14:19:08,900 INFO L280 CfgBuilder]: Removed 13 assue(true) statements. [2018-12-23 14:19:08,900 INFO L202 PluginConnector]: Adding new model speedup-poc-dd-5-unlimited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.12 02:19:08 BoogieIcfgContainer [2018-12-23 14:19:08,900 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-12-23 14:19:08,901 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-12-23 14:19:08,902 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-12-23 14:19:08,905 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-12-23 14:19:08,906 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "speedup-poc-dd-5-unlimited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 23.12 02:19:08" (1/2) ... [2018-12-23 14:19:08,907 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7bf35a98 and model type speedup-poc-dd-5-unlimited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 23.12 02:19:08, skipping insertion in model container [2018-12-23 14:19:08,907 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "speedup-poc-dd-5-unlimited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 23.12 02:19:08" (2/2) ... [2018-12-23 14:19:08,909 INFO L112 eAbstractionObserver]: Analyzing ICFG speedup-poc-dd-5-unlimited.bpl [2018-12-23 14:19:08,920 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-12-23 14:19:08,928 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 5 error locations. [2018-12-23 14:19:08,947 INFO L257 AbstractCegarLoop]: Starting to check reachability of 5 error locations. [2018-12-23 14:19:08,982 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-12-23 14:19:08,982 INFO L383 AbstractCegarLoop]: Hoare is true [2018-12-23 14:19:08,982 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-12-23 14:19:08,982 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-12-23 14:19:08,983 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-12-23 14:19:08,983 INFO L387 AbstractCegarLoop]: Difference is false [2018-12-23 14:19:08,983 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-12-23 14:19:08,983 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-12-23 14:19:08,998 INFO L276 IsEmpty]: Start isEmpty. Operand 13 states. [2018-12-23 14:19:09,004 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 3 [2018-12-23 14:19:09,005 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:19:09,006 INFO L402 BasicCegarLoop]: trace histogram [1, 1] [2018-12-23 14:19:09,008 INFO L423 AbstractCegarLoop]: === Iteration 1 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:19:09,014 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:09,015 INFO L82 PathProgramCache]: Analyzing trace with hash 984, now seen corresponding path program 1 times [2018-12-23 14:19:09,017 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:19:09,069 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:09,070 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:09,070 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:09,070 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:19:09,120 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:09,259 INFO L273 TraceCheckUtils]: 0: Hoare triple {16#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {18#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:19:09,271 INFO L273 TraceCheckUtils]: 1: Hoare triple {18#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {17#false} is VALID [2018-12-23 14:19:09,273 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:09,275 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-12-23 14:19:09,275 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2018-12-23 14:19:09,275 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-23 14:19:09,281 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 2 [2018-12-23 14:19:09,283 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:19:09,287 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-12-23 14:19:09,324 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 2 edges. 2 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:09,324 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-12-23 14:19:09,334 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-12-23 14:19:09,335 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-12-23 14:19:09,337 INFO L87 Difference]: Start difference. First operand 13 states. Second operand 3 states. [2018-12-23 14:19:09,616 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:09,616 INFO L93 Difference]: Finished difference Result 25 states and 33 transitions. [2018-12-23 14:19:09,617 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-12-23 14:19:09,617 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 2 [2018-12-23 14:19:09,617 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:19:09,619 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-12-23 14:19:09,624 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 33 transitions. [2018-12-23 14:19:09,624 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-12-23 14:19:09,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 33 transitions. [2018-12-23 14:19:09,626 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 33 transitions. [2018-12-23 14:19:09,827 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:09,841 INFO L225 Difference]: With dead ends: 25 [2018-12-23 14:19:09,841 INFO L226 Difference]: Without dead ends: 20 [2018-12-23 14:19:09,845 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 1 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-12-23 14:19:09,863 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 20 states. [2018-12-23 14:19:09,912 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 20 to 12. [2018-12-23 14:19:09,912 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:19:09,913 INFO L82 GeneralOperation]: Start isEquivalent. First operand 20 states. Second operand 12 states. [2018-12-23 14:19:09,914 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand 12 states. [2018-12-23 14:19:09,914 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 12 states. [2018-12-23 14:19:09,918 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:09,918 INFO L93 Difference]: Finished difference Result 20 states and 28 transitions. [2018-12-23 14:19:09,918 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 28 transitions. [2018-12-23 14:19:09,919 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:09,919 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:09,919 INFO L74 IsIncluded]: Start isIncluded. First operand 12 states. Second operand 20 states. [2018-12-23 14:19:09,920 INFO L87 Difference]: Start difference. First operand 12 states. Second operand 20 states. [2018-12-23 14:19:09,923 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:09,923 INFO L93 Difference]: Finished difference Result 20 states and 28 transitions. [2018-12-23 14:19:09,923 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 28 transitions. [2018-12-23 14:19:09,924 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:09,925 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:09,925 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:19:09,926 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:19:09,926 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2018-12-23 14:19:09,928 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 21 transitions. [2018-12-23 14:19:09,930 INFO L78 Accepts]: Start accepts. Automaton has 12 states and 21 transitions. Word has length 2 [2018-12-23 14:19:09,930 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:19:09,930 INFO L480 AbstractCegarLoop]: Abstraction has 12 states and 21 transitions. [2018-12-23 14:19:09,930 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-12-23 14:19:09,931 INFO L276 IsEmpty]: Start isEmpty. Operand 12 states and 21 transitions. [2018-12-23 14:19:09,931 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2018-12-23 14:19:09,931 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:19:09,932 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2018-12-23 14:19:09,932 INFO L423 AbstractCegarLoop]: === Iteration 2 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:19:09,932 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:09,933 INFO L82 PathProgramCache]: Analyzing trace with hash 30372, now seen corresponding path program 1 times [2018-12-23 14:19:09,933 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:19:09,934 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:09,934 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:09,934 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:09,935 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:19:09,964 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:10,217 WARN L181 SmtUtils]: Spent 155.00 ms on a formula simplification. DAG size of input: 16 DAG size of output: 13 [2018-12-23 14:19:10,311 INFO L273 TraceCheckUtils]: 0: Hoare triple {102#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {104#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:19:10,318 INFO L273 TraceCheckUtils]: 1: Hoare triple {104#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {105#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:19:10,331 INFO L273 TraceCheckUtils]: 2: Hoare triple {105#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {103#false} is VALID [2018-12-23 14:19:10,332 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:10,332 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:10,332 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:19:10,333 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2018-12-23 14:19:10,335 INFO L207 CegarAbsIntRunner]: [0], [18], [23] [2018-12-23 14:19:10,375 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:19:10,376 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:19:10,474 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:19:10,476 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Performed 54 root evaluator evaluations with a maximum evaluation depth of 2. Performed 54 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-23 14:19:10,481 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:10,482 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:19:10,482 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:10,482 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:19:10,492 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:10,493 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:19:10,503 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:10,510 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:10,515 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:19:10,809 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:10,816 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 31 treesize of output 40 [2018-12-23 14:19:11,016 WARN L181 SmtUtils]: Spent 130.00 ms on a formula simplification. DAG size of input: 24 DAG size of output: 20 [2018-12-23 14:19:11,037 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:11,039 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:11,044 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 27 treesize of output 42 [2018-12-23 14:19:11,453 WARN L181 SmtUtils]: Spent 224.00 ms on a formula simplification. DAG size of input: 26 DAG size of output: 20 [2018-12-23 14:19:11,548 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:11,549 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:11,551 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:11,553 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:11,556 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 25 [2018-12-23 14:19:11,560 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:11,591 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:11,604 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:11,642 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:19:11,659 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 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 27 [2018-12-23 14:19:11,689 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 6 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:19:11,728 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:19:11,766 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:19:11,775 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:11,801 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:11,817 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:11,833 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:11,850 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:11,886 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:11,887 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 5 variables, input treesize:52, output treesize:50 [2018-12-23 14:19:11,895 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:11,895 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_27|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, |v_#valid_7|]. (let ((.cse0 (store |v_#valid_7| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p2 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p2)) (= 0 (select (store .cse1 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4)) (= (select .cse1 ULTIMATE.start_main_p3) 0) (= |#memory_int| (store (store (store (store (store |v_#memory_int_27| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0))))) [2018-12-23 14:19:11,895 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| 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)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:19:12,292 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:12,294 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 45 [2018-12-23 14:19:12,319 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:12,406 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:12,407 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:55, output treesize:33 [2018-12-23 14:19:12,419 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:12,420 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_28|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_28| ULTIMATE.start_main_p4))) (and (= (store |v_#memory_int_28| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_28| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_28| 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 |v_#memory_int_28| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= .cse0 0))) [2018-12-23 14:19:12,420 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:19:12,577 INFO L273 TraceCheckUtils]: 0: Hoare triple {102#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {109#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:19:12,579 INFO L273 TraceCheckUtils]: 1: Hoare triple {109#(and (= (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_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)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {113#(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))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)))} is VALID [2018-12-23 14:19:12,580 INFO L273 TraceCheckUtils]: 2: Hoare triple {113#(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))) (= (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); {103#false} is VALID [2018-12-23 14:19:12,580 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:12,581 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:19:12,613 INFO L273 TraceCheckUtils]: 2: Hoare triple {117#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {103#false} is VALID [2018-12-23 14:19:12,615 INFO L273 TraceCheckUtils]: 1: Hoare triple {121#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {117#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:12,617 INFO L273 TraceCheckUtils]: 0: Hoare triple {102#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {121#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:12,617 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:12,638 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:19:12,639 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-23 14:19:12,639 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:19:12,640 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2018-12-23 14:19:12,640 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:19:12,640 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-23 14:19:12,650 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:12,650 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-23 14:19:12,651 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-23 14:19:12,651 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-23 14:19:12,651 INFO L87 Difference]: Start difference. First operand 12 states and 21 transitions. Second operand 6 states. [2018-12-23 14:19:13,224 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:13,225 INFO L93 Difference]: Finished difference Result 39 states and 56 transitions. [2018-12-23 14:19:13,225 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-12-23 14:19:13,225 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2018-12-23 14:19:13,225 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:19:13,226 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-23 14:19:13,228 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2018-12-23 14:19:13,228 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-23 14:19:13,230 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2018-12-23 14:19:13,230 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 56 transitions. [2018-12-23 14:19:13,343 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:13,346 INFO L225 Difference]: With dead ends: 39 [2018-12-23 14:19:13,347 INFO L226 Difference]: Without dead ends: 37 [2018-12-23 14:19:13,348 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2018-12-23 14:19:13,348 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2018-12-23 14:19:13,367 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 16. [2018-12-23 14:19:13,367 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:19:13,368 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand 16 states. [2018-12-23 14:19:13,368 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 16 states. [2018-12-23 14:19:13,368 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 16 states. [2018-12-23 14:19:13,372 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:13,372 INFO L93 Difference]: Finished difference Result 37 states and 53 transitions. [2018-12-23 14:19:13,373 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 53 transitions. [2018-12-23 14:19:13,373 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:13,373 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:13,373 INFO L74 IsIncluded]: Start isIncluded. First operand 16 states. Second operand 37 states. [2018-12-23 14:19:13,374 INFO L87 Difference]: Start difference. First operand 16 states. Second operand 37 states. [2018-12-23 14:19:13,377 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:13,378 INFO L93 Difference]: Finished difference Result 37 states and 53 transitions. [2018-12-23 14:19:13,378 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 53 transitions. [2018-12-23 14:19:13,379 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:13,379 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:13,379 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:19:13,379 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:19:13,379 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2018-12-23 14:19:13,381 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 32 transitions. [2018-12-23 14:19:13,381 INFO L78 Accepts]: Start accepts. Automaton has 16 states and 32 transitions. Word has length 3 [2018-12-23 14:19:13,382 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:19:13,382 INFO L480 AbstractCegarLoop]: Abstraction has 16 states and 32 transitions. [2018-12-23 14:19:13,382 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-23 14:19:13,382 INFO L276 IsEmpty]: Start isEmpty. Operand 16 states and 32 transitions. [2018-12-23 14:19:13,382 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2018-12-23 14:19:13,383 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:19:13,383 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2018-12-23 14:19:13,383 INFO L423 AbstractCegarLoop]: === Iteration 3 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:19:13,383 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:13,384 INFO L82 PathProgramCache]: Analyzing trace with hash 30434, now seen corresponding path program 1 times [2018-12-23 14:19:13,384 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:19:13,385 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:13,385 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:13,385 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:13,385 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:19:13,400 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:13,518 INFO L273 TraceCheckUtils]: 0: Hoare triple {262#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {264#(and (or (= 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))) (= (select |#memory_int| ULTIMATE.start_main_p5) 0))} is VALID [2018-12-23 14:19:13,520 INFO L273 TraceCheckUtils]: 1: Hoare triple {264#(and (or (= 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))) (= (select |#memory_int| ULTIMATE.start_main_p5) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {265#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:13,525 INFO L273 TraceCheckUtils]: 2: Hoare triple {265#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {263#false} is VALID [2018-12-23 14:19:13,526 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:13,527 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:13,527 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:19:13,527 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2018-12-23 14:19:13,528 INFO L207 CegarAbsIntRunner]: [0], [20], [23] [2018-12-23 14:19:13,529 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:19:13,529 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:19:13,552 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:19:13,552 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Performed 54 root evaluator evaluations with a maximum evaluation depth of 2. Performed 54 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-23 14:19:13,552 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:13,553 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:19:13,553 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:13,553 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:19:13,562 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:13,562 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:19:13,582 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:13,598 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:13,599 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:19:13,661 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:13,663 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 31 treesize of output 40 [2018-12-23 14:19:13,712 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:13,714 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:13,716 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 27 treesize of output 42 [2018-12-23 14:19:13,774 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:13,776 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:13,778 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:13,780 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:13,782 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 25 [2018-12-23 14:19:13,792 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:13,806 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:13,880 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:13,903 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:19:13,915 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 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 27 [2018-12-23 14:19:13,941 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 6 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:19:13,966 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:19:13,998 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:19:14,001 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:14,033 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:14,051 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:14,072 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:14,087 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:14,134 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:14,134 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 5 variables, input treesize:52, output treesize:50 [2018-12-23 14:19:14,152 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:14,153 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_30|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, |v_#valid_8|]. (let ((.cse0 (store |v_#valid_8| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p2 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p2)) (= (store (store (store (store (store |v_#memory_int_30| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (= 0 (select (store .cse1 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4)) (= (select .cse1 ULTIMATE.start_main_p3) 0)))) [2018-12-23 14:19:14,153 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (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_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) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:19:14,380 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:14,439 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 7 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 8 case distinctions, treesize of input 36 treesize of output 66 [2018-12-23 14:19:14,460 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 16 xjuncts. [2018-12-23 14:19:14,779 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 16 dim-0 vars, and 5 xjuncts. [2018-12-23 14:19:14,779 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:60, output treesize:199 [2018-12-23 14:19:17,023 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:17,023 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_31|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_31| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_31| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_31| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_31| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= .cse0 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (store |v_#memory_int_31| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_31| ULTIMATE.start_main_p1) 0))) [2018-12-23 14:19:17,024 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_10, v_prenex_11, v_prenex_9, v_prenex_12, v_prenex_3, v_prenex_1, v_prenex_2, ULTIMATE.start_main_p5, v_prenex_8, v_prenex_7, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, v_prenex_6, v_prenex_4, v_prenex_5]. (let ((.cse0 (select |#memory_int| ULTIMATE.start_main_p1))) (let ((.cse1 (= .cse0 0))) (or (and (not (= v_prenex_3 v_prenex_1)) (= .cse0 1) (not (= v_prenex_3 v_prenex_2)) (not (= v_prenex_2 v_prenex_1)) (= 0 (select |#memory_int| v_prenex_2)) (not (= v_prenex_3 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_3) 0) (not (= ULTIMATE.start_main_p1 v_prenex_1)) (= (select |#memory_int| v_prenex_1) 0)) (and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= v_prenex_8 v_prenex_7)) .cse1 (not (= v_prenex_7 ULTIMATE.start_main_p1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| v_prenex_7)) (not (= v_prenex_8 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_8) 0)) (and (not (= v_prenex_10 v_prenex_11)) (not (= v_prenex_10 v_prenex_9)) .cse1 (not (= v_prenex_9 ULTIMATE.start_main_p1)) (not (= v_prenex_9 v_prenex_11)) (= 1 (select |#memory_int| v_prenex_12)) (= 0 (select |#memory_int| v_prenex_9)) (not (= v_prenex_10 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_10) 0) (not (= ULTIMATE.start_main_p1 v_prenex_11)) (= (select |#memory_int| v_prenex_11) 0)) (and .cse1 (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (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))) (and (not (= v_prenex_6 v_prenex_4)) (= 1 (select |#memory_int| v_prenex_5)) .cse1 (not (= v_prenex_6 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_6) 0) (= (select |#memory_int| v_prenex_4) 0) (not (= ULTIMATE.start_main_p1 v_prenex_4)))))) [2018-12-23 14:19:19,217 WARN L181 SmtUtils]: Spent 2.08 s on a formula simplification. DAG size of input: 121 DAG size of output: 49 [2018-12-23 14:19:19,228 INFO L273 TraceCheckUtils]: 0: Hoare triple {262#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {269#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2018-12-23 14:19:19,231 INFO L273 TraceCheckUtils]: 1: Hoare triple {269#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (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)))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {273#(or (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_5 Int)) (= 1 (select |#memory_int| v_prenex_5))) (exists ((v_prenex_6 Int) (v_prenex_4 Int)) (and (not (= v_prenex_6 ULTIMATE.start_main_p1)) (not (= v_prenex_6 v_prenex_4)) (= (select |#memory_int| v_prenex_6) 0) (= (select |#memory_int| v_prenex_4) 0) (not (= ULTIMATE.start_main_p1 v_prenex_4))))) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((v_prenex_2 Int) (v_prenex_3 Int) (v_prenex_1 Int)) (and (not (= ULTIMATE.start_main_p1 v_prenex_1)) (not (= v_prenex_3 v_prenex_2)) (= (select |#memory_int| v_prenex_1) 0) (= (select |#memory_int| v_prenex_3) 0) (not (= v_prenex_3 v_prenex_1)) (= 0 (select |#memory_int| v_prenex_2)) (not (= v_prenex_3 ULTIMATE.start_main_p1)) (not (= v_prenex_2 v_prenex_1))))))} is VALID [2018-12-23 14:19:19,232 INFO L273 TraceCheckUtils]: 2: Hoare triple {273#(or (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_5 Int)) (= 1 (select |#memory_int| v_prenex_5))) (exists ((v_prenex_6 Int) (v_prenex_4 Int)) (and (not (= v_prenex_6 ULTIMATE.start_main_p1)) (not (= v_prenex_6 v_prenex_4)) (= (select |#memory_int| v_prenex_6) 0) (= (select |#memory_int| v_prenex_4) 0) (not (= ULTIMATE.start_main_p1 v_prenex_4))))) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((v_prenex_2 Int) (v_prenex_3 Int) (v_prenex_1 Int)) (and (not (= ULTIMATE.start_main_p1 v_prenex_1)) (not (= v_prenex_3 v_prenex_2)) (= (select |#memory_int| v_prenex_1) 0) (= (select |#memory_int| v_prenex_3) 0) (not (= v_prenex_3 v_prenex_1)) (= 0 (select |#memory_int| v_prenex_2)) (not (= v_prenex_3 ULTIMATE.start_main_p1)) (not (= v_prenex_2 v_prenex_1))))))} assume !(#memory_int[main_p1] >= 0); {263#false} is VALID [2018-12-23 14:19:19,233 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:19,233 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:19:19,248 INFO L273 TraceCheckUtils]: 2: Hoare triple {265#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {263#false} is VALID [2018-12-23 14:19:19,250 INFO L273 TraceCheckUtils]: 1: Hoare triple {280#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {265#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:19,252 INFO L273 TraceCheckUtils]: 0: Hoare triple {262#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {280#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:19,252 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:19,272 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 2 imperfect interpolant sequences. [2018-12-23 14:19:19,272 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2, 2] total 5 [2018-12-23 14:19:19,272 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-23 14:19:19,273 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 3 [2018-12-23 14:19:19,273 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:19:19,273 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-12-23 14:19:19,282 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 3 edges. 3 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:19,282 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-12-23 14:19:19,283 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-12-23 14:19:19,283 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=23, Unknown=0, NotChecked=0, Total=42 [2018-12-23 14:19:19,283 INFO L87 Difference]: Start difference. First operand 16 states and 32 transitions. Second operand 4 states. [2018-12-23 14:19:19,417 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:19,417 INFO L93 Difference]: Finished difference Result 18 states and 39 transitions. [2018-12-23 14:19:19,417 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-12-23 14:19:19,417 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 3 [2018-12-23 14:19:19,417 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:19:19,418 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-23 14:19:19,418 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 22 transitions. [2018-12-23 14:19:19,419 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-23 14:19:19,419 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 22 transitions. [2018-12-23 14:19:19,420 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 22 transitions. [2018-12-23 14:19:19,472 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:19,473 INFO L225 Difference]: With dead ends: 18 [2018-12-23 14:19:19,474 INFO L226 Difference]: Without dead ends: 17 [2018-12-23 14:19:19,474 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 2.3s TimeCoverageRelationStatistics Valid=19, Invalid=23, Unknown=0, NotChecked=0, Total=42 [2018-12-23 14:19:19,475 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17 states. [2018-12-23 14:19:19,500 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17 to 17. [2018-12-23 14:19:19,500 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:19:19,501 INFO L82 GeneralOperation]: Start isEquivalent. First operand 17 states. Second operand 17 states. [2018-12-23 14:19:19,501 INFO L74 IsIncluded]: Start isIncluded. First operand 17 states. Second operand 17 states. [2018-12-23 14:19:19,501 INFO L87 Difference]: Start difference. First operand 17 states. Second operand 17 states. [2018-12-23 14:19:19,504 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:19,504 INFO L93 Difference]: Finished difference Result 17 states and 38 transitions. [2018-12-23 14:19:19,504 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 38 transitions. [2018-12-23 14:19:19,505 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:19,505 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:19,505 INFO L74 IsIncluded]: Start isIncluded. First operand 17 states. Second operand 17 states. [2018-12-23 14:19:19,506 INFO L87 Difference]: Start difference. First operand 17 states. Second operand 17 states. [2018-12-23 14:19:19,507 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:19,508 INFO L93 Difference]: Finished difference Result 17 states and 38 transitions. [2018-12-23 14:19:19,508 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 38 transitions. [2018-12-23 14:19:19,508 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:19,508 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:19,509 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:19:19,509 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:19:19,509 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-12-23 14:19:19,511 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 38 transitions. [2018-12-23 14:19:19,511 INFO L78 Accepts]: Start accepts. Automaton has 17 states and 38 transitions. Word has length 3 [2018-12-23 14:19:19,511 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:19:19,511 INFO L480 AbstractCegarLoop]: Abstraction has 17 states and 38 transitions. [2018-12-23 14:19:19,512 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-12-23 14:19:19,512 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 38 transitions. [2018-12-23 14:19:19,512 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2018-12-23 14:19:19,512 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:19:19,512 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2018-12-23 14:19:19,513 INFO L423 AbstractCegarLoop]: === Iteration 4 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:19:19,513 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:19,513 INFO L82 PathProgramCache]: Analyzing trace with hash 30560, now seen corresponding path program 1 times [2018-12-23 14:19:19,514 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:19:19,515 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:19,515 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:19,515 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:19,515 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:19:19,522 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:19,618 INFO L273 TraceCheckUtils]: 0: Hoare triple {360#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {362#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:19:19,632 INFO L273 TraceCheckUtils]: 1: Hoare triple {362#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {362#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:19:19,644 INFO L273 TraceCheckUtils]: 2: Hoare triple {362#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {361#false} is VALID [2018-12-23 14:19:19,644 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:19,645 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-12-23 14:19:19,645 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2018-12-23 14:19:19,645 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-23 14:19:19,645 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 3 [2018-12-23 14:19:19,646 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:19:19,646 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-12-23 14:19:19,668 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 3 edges. 3 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:19,668 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-12-23 14:19:19,668 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-12-23 14:19:19,668 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-12-23 14:19:19,669 INFO L87 Difference]: Start difference. First operand 17 states and 38 transitions. Second operand 3 states. [2018-12-23 14:19:19,763 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:19,764 INFO L93 Difference]: Finished difference Result 21 states and 39 transitions. [2018-12-23 14:19:19,764 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-12-23 14:19:19,764 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 3 [2018-12-23 14:19:19,764 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:19:19,765 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-12-23 14:19:19,766 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 27 transitions. [2018-12-23 14:19:19,767 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-12-23 14:19:19,768 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 27 transitions. [2018-12-23 14:19:19,768 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 27 transitions. [2018-12-23 14:19:19,798 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:19,800 INFO L225 Difference]: With dead ends: 21 [2018-12-23 14:19:19,800 INFO L226 Difference]: Without dead ends: 20 [2018-12-23 14:19:19,801 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 1 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-12-23 14:19:19,801 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 20 states. [2018-12-23 14:19:19,831 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 20 to 17. [2018-12-23 14:19:19,831 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:19:19,832 INFO L82 GeneralOperation]: Start isEquivalent. First operand 20 states. Second operand 17 states. [2018-12-23 14:19:19,832 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand 17 states. [2018-12-23 14:19:19,832 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 17 states. [2018-12-23 14:19:19,835 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:19,835 INFO L93 Difference]: Finished difference Result 20 states and 38 transitions. [2018-12-23 14:19:19,835 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 38 transitions. [2018-12-23 14:19:19,836 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:19,836 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:19,836 INFO L74 IsIncluded]: Start isIncluded. First operand 17 states. Second operand 20 states. [2018-12-23 14:19:19,837 INFO L87 Difference]: Start difference. First operand 17 states. Second operand 20 states. [2018-12-23 14:19:19,838 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:19,839 INFO L93 Difference]: Finished difference Result 20 states and 38 transitions. [2018-12-23 14:19:19,839 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 38 transitions. [2018-12-23 14:19:19,839 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:19,840 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:19,840 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:19:19,840 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:19:19,840 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2018-12-23 14:19:19,842 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 37 transitions. [2018-12-23 14:19:19,842 INFO L78 Accepts]: Start accepts. Automaton has 17 states and 37 transitions. Word has length 3 [2018-12-23 14:19:19,842 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:19:19,842 INFO L480 AbstractCegarLoop]: Abstraction has 17 states and 37 transitions. [2018-12-23 14:19:19,842 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-12-23 14:19:19,842 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 37 transitions. [2018-12-23 14:19:19,843 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2018-12-23 14:19:19,843 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:19:19,843 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2018-12-23 14:19:19,844 INFO L423 AbstractCegarLoop]: === Iteration 5 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:19:19,844 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:19,844 INFO L82 PathProgramCache]: Analyzing trace with hash 30124, now seen corresponding path program 1 times [2018-12-23 14:19:19,844 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:19:19,845 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:19,845 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:19,845 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:19,846 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:19:19,859 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:19,979 INFO L273 TraceCheckUtils]: 0: Hoare triple {451#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {453#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:19:19,981 INFO L273 TraceCheckUtils]: 1: Hoare triple {453#(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]; {454#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:19:19,982 INFO L273 TraceCheckUtils]: 2: Hoare triple {454#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {452#false} is VALID [2018-12-23 14:19:19,983 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:19,983 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:19,983 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:19:19,984 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2018-12-23 14:19:19,984 INFO L207 CegarAbsIntRunner]: [0], [10], [23] [2018-12-23 14:19:19,987 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:19:19,987 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:19:19,999 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:19:19,999 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Performed 54 root evaluator evaluations with a maximum evaluation depth of 2. Performed 54 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-23 14:19:20,000 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:20,000 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:19:20,000 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:20,000 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:19:20,010 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:20,010 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:19:20,018 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:20,023 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:20,023 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:19:20,103 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:19:20,111 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:19:20,122 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:20,124 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:20,126 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:19:20,144 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:20,145 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:20,146 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:20,148 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:19:20,179 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:19:20,197 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:20,221 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:20,252 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:20,268 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:20,282 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:20,312 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:20,313 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 31 treesize of output 40 [2018-12-23 14:19:20,385 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:20,385 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:20,387 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 27 treesize of output 42 [2018-12-23 14:19:20,500 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:20,501 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:20,503 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:20,504 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:20,505 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 25 [2018-12-23 14:19:20,509 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:20,520 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:20,537 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:20,587 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:20,588 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 5 variables, input treesize:52, output treesize:50 [2018-12-23 14:19:20,596 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:20,596 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_33|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, |v_#valid_9|]. (let ((.cse0 (store |v_#valid_9| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p2 1))) (and (= (select .cse0 ULTIMATE.start_main_p2) 0) (= (select .cse1 ULTIMATE.start_main_p3) 0) (= (store (store (store (store (store |v_#memory_int_33| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (= (select (store .cse1 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4) 0)))) [2018-12-23 14:19:20,597 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| 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)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:19:20,745 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:20,748 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 51 [2018-12-23 14:19:20,752 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:20,793 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:20,793 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:55, output treesize:33 [2018-12-23 14:19:20,815 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:20,816 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_34|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_34| ULTIMATE.start_main_p2))) (and (= |#memory_int| (store |v_#memory_int_34| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_34| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= .cse0 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_34| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_34| ULTIMATE.start_main_p3) 0))) [2018-12-23 14:19:20,816 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (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) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:19:20,934 INFO L273 TraceCheckUtils]: 0: Hoare triple {451#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {458#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2018-12-23 14:19:20,936 INFO L273 TraceCheckUtils]: 1: Hoare triple {458#(and (= (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]; {462#(and (exists ((ULTIMATE.start_main_p2 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2018-12-23 14:19:20,938 INFO L273 TraceCheckUtils]: 2: Hoare triple {462#(and (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); {452#false} is VALID [2018-12-23 14:19:20,938 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:20,938 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:19:20,967 INFO L273 TraceCheckUtils]: 2: Hoare triple {466#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {452#false} is VALID [2018-12-23 14:19:20,968 INFO L273 TraceCheckUtils]: 1: Hoare triple {470#(<= 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]; {466#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:20,970 INFO L273 TraceCheckUtils]: 0: Hoare triple {451#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {470#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:20,971 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:20,991 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:19:20,991 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-23 14:19:20,991 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:19:20,991 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2018-12-23 14:19:20,992 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:19:20,992 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-23 14:19:21,020 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:21,020 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-23 14:19:21,021 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-23 14:19:21,021 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-23 14:19:21,021 INFO L87 Difference]: Start difference. First operand 17 states and 37 transitions. Second operand 6 states. [2018-12-23 14:19:21,636 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:21,636 INFO L93 Difference]: Finished difference Result 39 states and 66 transitions. [2018-12-23 14:19:21,636 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-12-23 14:19:21,636 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2018-12-23 14:19:21,636 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:19:21,636 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-23 14:19:21,638 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 54 transitions. [2018-12-23 14:19:21,638 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-23 14:19:21,639 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 54 transitions. [2018-12-23 14:19:21,639 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 54 transitions. [2018-12-23 14:19:21,745 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:21,748 INFO L225 Difference]: With dead ends: 39 [2018-12-23 14:19:21,748 INFO L226 Difference]: Without dead ends: 38 [2018-12-23 14:19:21,749 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2018-12-23 14:19:21,749 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2018-12-23 14:19:21,902 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 18. [2018-12-23 14:19:21,902 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:19:21,902 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand 18 states. [2018-12-23 14:19:21,902 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 18 states. [2018-12-23 14:19:21,902 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 18 states. [2018-12-23 14:19:21,905 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:21,905 INFO L93 Difference]: Finished difference Result 38 states and 64 transitions. [2018-12-23 14:19:21,905 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 64 transitions. [2018-12-23 14:19:21,906 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:21,906 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:21,906 INFO L74 IsIncluded]: Start isIncluded. First operand 18 states. Second operand 38 states. [2018-12-23 14:19:21,907 INFO L87 Difference]: Start difference. First operand 18 states. Second operand 38 states. [2018-12-23 14:19:21,909 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:21,909 INFO L93 Difference]: Finished difference Result 38 states and 64 transitions. [2018-12-23 14:19:21,909 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 64 transitions. [2018-12-23 14:19:21,910 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:21,910 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:21,910 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:19:21,910 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:19:21,911 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2018-12-23 14:19:21,912 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 43 transitions. [2018-12-23 14:19:21,912 INFO L78 Accepts]: Start accepts. Automaton has 18 states and 43 transitions. Word has length 3 [2018-12-23 14:19:21,912 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:19:21,912 INFO L480 AbstractCegarLoop]: Abstraction has 18 states and 43 transitions. [2018-12-23 14:19:21,912 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-23 14:19:21,913 INFO L276 IsEmpty]: Start isEmpty. Operand 18 states and 43 transitions. [2018-12-23 14:19:21,913 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-23 14:19:21,913 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:19:21,913 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-23 14:19:21,914 INFO L423 AbstractCegarLoop]: === Iteration 6 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:19:21,914 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:21,914 INFO L82 PathProgramCache]: Analyzing trace with hash 941462, now seen corresponding path program 1 times [2018-12-23 14:19:21,914 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:19:21,915 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:21,915 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:21,915 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:21,916 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:19:21,927 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:22,027 INFO L273 TraceCheckUtils]: 0: Hoare triple {619#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {621#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:19:22,029 INFO L273 TraceCheckUtils]: 1: Hoare triple {621#(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]; {622#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:19:22,048 INFO L273 TraceCheckUtils]: 2: Hoare triple {622#(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]; {623#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:19:22,061 INFO L273 TraceCheckUtils]: 3: Hoare triple {623#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {620#false} is VALID [2018-12-23 14:19:22,061 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:22,062 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:22,062 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:19:22,062 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-23 14:19:22,062 INFO L207 CegarAbsIntRunner]: [0], [18], [20], [23] [2018-12-23 14:19:22,063 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:19:22,063 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:19:22,106 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:19:22,106 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 56 root evaluator evaluations with a maximum evaluation depth of 2. Performed 56 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:19:22,106 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:22,107 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:19:22,107 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:22,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 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:19:22,115 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:22,115 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:19:22,120 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:22,124 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:22,125 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:19:22,283 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 18 treesize of output 21 [2018-12-23 14:19:22,319 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:19:22,338 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:22,340 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:22,342 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:19:22,437 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:22,439 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:22,461 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:22,462 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:19:22,492 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:19:22,495 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:22,565 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:22,582 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:22,600 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:22,612 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:22,638 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:22,639 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 31 treesize of output 40 [2018-12-23 14:19:22,681 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:22,682 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:22,683 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 42 [2018-12-23 14:19:22,730 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:22,732 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:22,733 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:22,734 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:22,735 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 25 [2018-12-23 14:19:22,737 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:22,745 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:22,755 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:22,784 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:22,785 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 4 variables, input treesize:52, output treesize:50 [2018-12-23 14:19:22,791 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:22,791 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_36|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, |v_#valid_10|]. (let ((.cse1 (store |v_#valid_10| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p2 1))) (and (= 0 (select (store .cse0 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4)) (= (store (store (store (store (store |v_#memory_int_36| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (= (select .cse1 ULTIMATE.start_main_p2) 0) (= 0 (select .cse0 ULTIMATE.start_main_p3))))) [2018-12-23 14:19:22,792 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (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_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) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:19:22,899 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:22,909 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 7 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 36 treesize of output 54 [2018-12-23 14:19:22,917 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 2 xjuncts. [2018-12-23 14:19:22,991 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 2 xjuncts. [2018-12-23 14:19:22,992 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:60, output treesize:74 [2018-12-23 14:19:25,093 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:25,094 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_37|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_37| ULTIMATE.start_main_p4))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_37| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_37| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 .cse0) (= 0 (select |v_#memory_int_37| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_37| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_37| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) [2018-12-23 14:19:25,094 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_14, v_prenex_13, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse1 (select |#memory_int| ULTIMATE.start_main_p5)) (.cse0 (= (select |#memory_int| ULTIMATE.start_main_p1) 0))) (or (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) .cse0 (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 (+ .cse1 1))) (and (= 0 .cse1) (not (= v_prenex_14 v_prenex_13)) .cse0 (not (= v_prenex_13 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| v_prenex_13)) (not (= v_prenex_14 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_14) 0)))) [2018-12-23 14:19:25,415 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,417 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,417 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,418 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,426 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,427 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,428 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,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, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 6 case distinctions, treesize of input 50 treesize of output 80 [2018-12-23 14:19:25,458 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 8 xjuncts. [2018-12-23 14:19:25,694 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,705 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,706 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,706 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,707 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:25,708 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:19:25,709 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 45 treesize of output 51 [2018-12-23 14:19:25,712 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:25,868 INFO L267 ElimStorePlain]: Start of recursive call 1: 7 dim-0 vars, 2 dim-1 vars, End of recursive call: 16 dim-0 vars, and 5 xjuncts. [2018-12-23 14:19:25,868 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 9 variables, input treesize:96, output treesize:167 [2018-12-23 14:19:28,161 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:28,161 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_prenex_16, v_prenex_15, v_prenex_13, v_prenex_14, ULTIMATE.start_main_p4, |v_#memory_int_38|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (or (let ((.cse0 (+ (select |v_#memory_int_38| ULTIMATE.start_main_p5) 1))) (and (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_38| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_38| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_38| ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_38| ULTIMATE.start_main_p5 .cse0)))) (let ((.cse1 (select v_prenex_16 v_prenex_15))) (and (= 0 (select v_prenex_16 v_prenex_13)) (= 0 .cse1) (not (= v_prenex_13 ULTIMATE.start_main_p1)) (= (select v_prenex_16 v_prenex_14) 0) (not (= v_prenex_14 v_prenex_13)) (= 0 (+ (select v_prenex_16 ULTIMATE.start_main_p4) 1)) (= 0 (select v_prenex_16 ULTIMATE.start_main_p1)) (not (= v_prenex_14 ULTIMATE.start_main_p1)) (= |#memory_int| (store v_prenex_16 v_prenex_15 (+ .cse1 1)))))) [2018-12-23 14:19:28,161 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_15, v_prenex_19, v_prenex_17, v_prenex_18, v_prenex_20, v_prenex_21, v_prenex_22, v_prenex_24, v_prenex_25, v_prenex_23, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, v_prenex_13, ULTIMATE.start_main_p4, v_prenex_14]. (let ((.cse1 (select |#memory_int| ULTIMATE.start_main_p1))) (let ((.cse0 (= .cse1 0))) (or (and .cse0 (= (+ (select |#memory_int| v_prenex_20) 1) 0) (= 0 (select |#memory_int| v_prenex_21)) (= (select |#memory_int| v_prenex_22) 1) (not (= v_prenex_21 ULTIMATE.start_main_p1))) (and (= .cse1 1) (= (select |#memory_int| v_prenex_24) 0) (= (+ (select |#memory_int| v_prenex_25) 1) 0) (not (= v_prenex_23 v_prenex_24)) (= 0 (select |#memory_int| v_prenex_23))) (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)) .cse0 (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)) (and (= 1 (select |#memory_int| v_prenex_15)) (= (select |#memory_int| v_prenex_19) 0) (not (= v_prenex_19 ULTIMATE.start_main_p1)) .cse0 (= (+ (select |#memory_int| v_prenex_17) 1) 0) (not (= v_prenex_18 v_prenex_19)) (= 0 (select |#memory_int| v_prenex_18)) (not (= v_prenex_18 ULTIMATE.start_main_p1))) (and (= (select |#memory_int| v_prenex_13) 0) (not (= v_prenex_13 ULTIMATE.start_main_p1)) .cse0 (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| v_prenex_14)))))) [2018-12-23 14:19:28,306 WARN L181 SmtUtils]: Spent 102.00 ms on a formula simplification. DAG size of input: 106 DAG size of output: 65 [2018-12-23 14:19:28,320 INFO L273 TraceCheckUtils]: 0: Hoare triple {619#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {627#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:19:28,322 INFO L273 TraceCheckUtils]: 1: Hoare triple {627#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (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)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {631#(or (and (= 0 (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)) (exists ((v_prenex_14 Int) (v_prenex_13 Int)) (and (= (select |#memory_int| v_prenex_14) 0) (not (= v_prenex_13 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| v_prenex_13)) (not (= v_prenex_14 v_prenex_13)) (not (= v_prenex_14 ULTIMATE.start_main_p1))))) (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))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1))))} is VALID [2018-12-23 14:19:28,329 INFO L273 TraceCheckUtils]: 2: Hoare triple {631#(or (and (= 0 (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)) (exists ((v_prenex_14 Int) (v_prenex_13 Int)) (and (= (select |#memory_int| v_prenex_14) 0) (not (= v_prenex_13 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| v_prenex_13)) (not (= v_prenex_14 v_prenex_13)) (not (= v_prenex_14 ULTIMATE.start_main_p1))))) (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))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {635#(or (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_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)))) (and (exists ((v_prenex_14 Int)) (= 1 (select |#memory_int| v_prenex_14))) (exists ((v_prenex_13 Int)) (and (= (select |#memory_int| v_prenex_13) 0) (not (= v_prenex_13 ULTIMATE.start_main_p1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((v_prenex_25 Int)) (= (+ (select |#memory_int| v_prenex_25) 1) 0)) (exists ((v_prenex_23 Int) (v_prenex_24 Int)) (and (not (= v_prenex_23 v_prenex_24)) (= (select |#memory_int| v_prenex_24) 0) (= 0 (select |#memory_int| v_prenex_23))))))} is VALID [2018-12-23 14:19:28,330 INFO L273 TraceCheckUtils]: 3: Hoare triple {635#(or (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_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)))) (and (exists ((v_prenex_14 Int)) (= 1 (select |#memory_int| v_prenex_14))) (exists ((v_prenex_13 Int)) (and (= (select |#memory_int| v_prenex_13) 0) (not (= v_prenex_13 ULTIMATE.start_main_p1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((v_prenex_25 Int)) (= (+ (select |#memory_int| v_prenex_25) 1) 0)) (exists ((v_prenex_23 Int) (v_prenex_24 Int)) (and (not (= v_prenex_23 v_prenex_24)) (= (select |#memory_int| v_prenex_24) 0) (= 0 (select |#memory_int| v_prenex_23))))))} assume !(#memory_int[main_p1] >= 0); {620#false} is VALID [2018-12-23 14:19:28,331 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:28,331 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:19:28,407 INFO L273 TraceCheckUtils]: 3: Hoare triple {639#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {620#false} is VALID [2018-12-23 14:19:28,408 INFO L273 TraceCheckUtils]: 2: Hoare triple {643#(<= 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]; {639#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:28,410 INFO L273 TraceCheckUtils]: 1: Hoare triple {647#(<= 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]; {643#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:28,412 INFO L273 TraceCheckUtils]: 0: Hoare triple {619#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {647#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:28,413 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:28,431 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:19:28,432 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:19:28,432 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:19:28,432 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:19:28,432 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:19:28,432 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:19:28,446 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:28,446 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:19:28,446 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:19:28,447 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=69, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:19:28,447 INFO L87 Difference]: Start difference. First operand 18 states and 43 transitions. Second operand 8 states. [2018-12-23 14:19:29,697 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:29,698 INFO L93 Difference]: Finished difference Result 59 states and 105 transitions. [2018-12-23 14:19:29,698 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-23 14:19:29,698 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:19:29,698 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:19:29,698 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:19:29,699 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 81 transitions. [2018-12-23 14:19:29,699 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:19:29,701 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 81 transitions. [2018-12-23 14:19:29,701 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 81 transitions. [2018-12-23 14:19:29,876 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:29,879 INFO L225 Difference]: With dead ends: 59 [2018-12-23 14:19:29,879 INFO L226 Difference]: Without dead ends: 55 [2018-12-23 14:19:29,880 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=70, Invalid=112, Unknown=0, NotChecked=0, Total=182 [2018-12-23 14:19:29,881 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2018-12-23 14:19:30,029 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 20. [2018-12-23 14:19:30,029 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:19:30,030 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 20 states. [2018-12-23 14:19:30,030 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 20 states. [2018-12-23 14:19:30,030 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 20 states. [2018-12-23 14:19:30,033 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:30,033 INFO L93 Difference]: Finished difference Result 55 states and 99 transitions. [2018-12-23 14:19:30,033 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 99 transitions. [2018-12-23 14:19:30,034 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:30,034 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:30,034 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand 55 states. [2018-12-23 14:19:30,035 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 55 states. [2018-12-23 14:19:30,037 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:30,037 INFO L93 Difference]: Finished difference Result 55 states and 99 transitions. [2018-12-23 14:19:30,037 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 99 transitions. [2018-12-23 14:19:30,038 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:30,038 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:30,038 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:19:30,038 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:19:30,039 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 20 states. [2018-12-23 14:19:30,040 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 59 transitions. [2018-12-23 14:19:30,040 INFO L78 Accepts]: Start accepts. Automaton has 20 states and 59 transitions. Word has length 4 [2018-12-23 14:19:30,040 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:19:30,040 INFO L480 AbstractCegarLoop]: Abstraction has 20 states and 59 transitions. [2018-12-23 14:19:30,040 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:19:30,041 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 59 transitions. [2018-12-23 14:19:30,041 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-23 14:19:30,041 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:19:30,041 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-23 14:19:30,041 INFO L423 AbstractCegarLoop]: === Iteration 7 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:19:30,042 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:30,042 INFO L82 PathProgramCache]: Analyzing trace with hash 941588, now seen corresponding path program 1 times [2018-12-23 14:19:30,042 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:19:30,043 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:30,043 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:30,043 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:30,043 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:19:30,051 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:30,115 INFO L273 TraceCheckUtils]: 0: Hoare triple {863#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {865#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:19:30,116 INFO L273 TraceCheckUtils]: 1: Hoare triple {865#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {866#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:19:30,117 INFO L273 TraceCheckUtils]: 2: Hoare triple {866#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {866#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:19:30,117 INFO L273 TraceCheckUtils]: 3: Hoare triple {866#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {864#false} is VALID [2018-12-23 14:19:30,117 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:30,118 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:30,118 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:19:30,118 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-23 14:19:30,118 INFO L207 CegarAbsIntRunner]: [0], [18], [24], [25] [2018-12-23 14:19:30,119 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:19:30,119 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:19:30,135 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:19:30,135 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 56 root evaluator evaluations with a maximum evaluation depth of 2. Performed 56 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-23 14:19:30,135 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:30,135 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:19:30,136 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:30,136 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:19:30,144 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:30,144 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:19:30,149 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:30,155 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:30,155 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:19:30,170 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:19:30,180 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:19:30,191 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:30,192 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:30,193 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 23 treesize of output 33 [2018-12-23 14:19:30,210 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:30,211 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:30,212 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:30,214 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 25 treesize of output 47 [2018-12-23 14:19:30,251 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 5 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 46 [2018-12-23 14:19:30,259 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:30,278 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:30,293 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:30,305 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:30,317 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:30,335 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 26 treesize of output 25 [2018-12-23 14:19:30,414 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:30,455 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:30,456 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 22 treesize of output 38 [2018-12-23 14:19:30,536 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:30,537 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:30,539 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:30,540 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:30,541 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 21 [2018-12-23 14:19:30,543 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:30,553 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:30,566 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:30,590 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:30,591 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 5 variables, input treesize:44, output treesize:46 [2018-12-23 14:19:30,601 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:30,601 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_41|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, |v_#valid_11|]. (let ((.cse0 (store (store |v_#valid_11| ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2 1))) (and (= (select (store .cse0 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4) 0) (= (select .cse0 ULTIMATE.start_main_p3) 0) (= (store (store (store (store (store |v_#memory_int_41| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|))) [2018-12-23 14:19:30,601 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| 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)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:19:30,694 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:30,695 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 41 [2018-12-23 14:19:30,704 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:30,722 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:30,723 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:51, output treesize:29 [2018-12-23 14:19:32,996 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:32,996 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_42|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_42| ULTIMATE.start_main_p4))) (and (= (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_p2)) (= (select |v_#memory_int_42| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_42| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_42| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= .cse0 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) [2018-12-23 14:19:32,997 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (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)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:19:33,070 INFO L273 TraceCheckUtils]: 0: Hoare triple {863#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {870#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p1 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)) (= (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) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:19:33,072 INFO L273 TraceCheckUtils]: 1: Hoare triple {870#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p1 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)) (= (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) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {874#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (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))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:19:33,073 INFO L273 TraceCheckUtils]: 2: Hoare triple {874#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (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))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {874#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (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))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:19:33,074 INFO L273 TraceCheckUtils]: 3: Hoare triple {874#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (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))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {864#false} is VALID [2018-12-23 14:19:33,075 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:33,075 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:19:33,103 INFO L273 TraceCheckUtils]: 3: Hoare triple {881#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {864#false} is VALID [2018-12-23 14:19:33,105 INFO L273 TraceCheckUtils]: 2: Hoare triple {881#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {881#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:19:33,106 INFO L273 TraceCheckUtils]: 1: Hoare triple {888#(<= (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {881#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:19:33,108 INFO L273 TraceCheckUtils]: 0: Hoare triple {863#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {888#(<= (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:19:33,108 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:33,127 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 2 imperfect interpolant sequences. [2018-12-23 14:19:33,127 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2, 2] total 6 [2018-12-23 14:19:33,127 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-23 14:19:33,128 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 4 [2018-12-23 14:19:33,128 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:19:33,128 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-12-23 14:19:33,132 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 4 edges. 4 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:33,132 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-12-23 14:19:33,132 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-12-23 14:19:33,132 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=30, Unknown=0, NotChecked=0, Total=56 [2018-12-23 14:19:33,133 INFO L87 Difference]: Start difference. First operand 20 states and 59 transitions. Second operand 4 states. [2018-12-23 14:19:33,419 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:33,419 INFO L93 Difference]: Finished difference Result 25 states and 74 transitions. [2018-12-23 14:19:33,419 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-12-23 14:19:33,420 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 4 [2018-12-23 14:19:33,420 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:19:33,420 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-23 14:19:33,421 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 24 transitions. [2018-12-23 14:19:33,421 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-23 14:19:33,421 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 24 transitions. [2018-12-23 14:19:33,421 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 24 transitions. [2018-12-23 14:19:33,443 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:33,444 INFO L225 Difference]: With dead ends: 25 [2018-12-23 14:19:33,445 INFO L226 Difference]: Without dead ends: 24 [2018-12-23 14:19:33,445 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 8 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=26, Invalid=30, Unknown=0, NotChecked=0, Total=56 [2018-12-23 14:19:33,446 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 24 states. [2018-12-23 14:19:33,529 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 24 to 23. [2018-12-23 14:19:33,530 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:19:33,530 INFO L82 GeneralOperation]: Start isEquivalent. First operand 24 states. Second operand 23 states. [2018-12-23 14:19:33,530 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 23 states. [2018-12-23 14:19:33,530 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 23 states. [2018-12-23 14:19:33,532 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:33,533 INFO L93 Difference]: Finished difference Result 24 states and 73 transitions. [2018-12-23 14:19:33,533 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 73 transitions. [2018-12-23 14:19:33,533 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:33,533 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:33,534 INFO L74 IsIncluded]: Start isIncluded. First operand 23 states. Second operand 24 states. [2018-12-23 14:19:33,534 INFO L87 Difference]: Start difference. First operand 23 states. Second operand 24 states. [2018-12-23 14:19:33,535 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:33,535 INFO L93 Difference]: Finished difference Result 24 states and 73 transitions. [2018-12-23 14:19:33,536 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 73 transitions. [2018-12-23 14:19:33,536 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:33,536 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:33,536 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:19:33,536 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:19:33,536 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 23 states. [2018-12-23 14:19:33,538 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 23 states to 23 states and 73 transitions. [2018-12-23 14:19:33,538 INFO L78 Accepts]: Start accepts. Automaton has 23 states and 73 transitions. Word has length 4 [2018-12-23 14:19:33,538 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:19:33,538 INFO L480 AbstractCegarLoop]: Abstraction has 23 states and 73 transitions. [2018-12-23 14:19:33,538 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-12-23 14:19:33,539 INFO L276 IsEmpty]: Start isEmpty. Operand 23 states and 73 transitions. [2018-12-23 14:19:33,539 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-23 14:19:33,539 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:19:33,539 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-23 14:19:33,539 INFO L423 AbstractCegarLoop]: === Iteration 8 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:19:33,540 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:33,540 INFO L82 PathProgramCache]: Analyzing trace with hash 941152, now seen corresponding path program 1 times [2018-12-23 14:19:33,540 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:19:33,541 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:33,541 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:33,541 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:33,541 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:19:33,552 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:33,703 INFO L273 TraceCheckUtils]: 0: Hoare triple {1007#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {1009#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:19:33,705 INFO L273 TraceCheckUtils]: 1: Hoare triple {1009#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 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]; {1010#(and (= (select |#memory_int| ULTIMATE.start_main_p2) 0) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:19:33,706 INFO L273 TraceCheckUtils]: 2: Hoare triple {1010#(and (= (select |#memory_int| ULTIMATE.start_main_p2) 0) (= 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]; {1011#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:19:33,707 INFO L273 TraceCheckUtils]: 3: Hoare triple {1011#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {1008#false} is VALID [2018-12-23 14:19:33,708 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:33,708 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:33,708 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:19:33,708 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-23 14:19:33,708 INFO L207 CegarAbsIntRunner]: [0], [10], [18], [23] [2018-12-23 14:19:33,709 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:19:33,709 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:19:33,723 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:19:33,723 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 56 root evaluator evaluations with a maximum evaluation depth of 2. Performed 56 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:19:33,724 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:33,724 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:19:33,724 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:33,724 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:19:33,735 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:33,735 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:19:33,740 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:33,744 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:33,744 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:19:33,788 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 18 treesize of output 21 [2018-12-23 14:19:33,798 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:19:33,846 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:33,848 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:33,849 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:19:33,863 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:33,864 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:33,866 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:33,867 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:19:33,887 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:19:33,891 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:33,910 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:33,928 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:33,942 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:33,959 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:33,984 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:33,985 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 31 treesize of output 40 [2018-12-23 14:19:34,030 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:34,031 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:34,032 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 42 [2018-12-23 14:19:34,081 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:34,083 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:34,087 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:34,088 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:34,089 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 25 [2018-12-23 14:19:34,093 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:34,103 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:34,115 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:34,199 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:34,200 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 4 variables, input treesize:52, output treesize:50 [2018-12-23 14:19:34,207 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:34,207 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_44|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, |v_#valid_12|]. (let ((.cse1 (store |v_#valid_12| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p2 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p3)) (= (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) |#memory_int|) (= 0 (select .cse1 ULTIMATE.start_main_p2)) (= 0 (select (store .cse0 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4))))) [2018-12-23 14:19:34,207 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (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_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) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:19:34,305 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:34,306 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 45 [2018-12-23 14:19:34,311 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:34,345 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:34,345 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:55, output treesize:33 [2018-12-23 14:19:34,376 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:34,377 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_45|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_45| ULTIMATE.start_main_p4))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= |#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) (= (select |v_#memory_int_45| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) [2018-12-23 14:19:34,377 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (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)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:19:34,601 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:34,602 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:34,604 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:34,605 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:34,605 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:19:34,607 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 60 [2018-12-23 14:19:34,612 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:34,667 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:34,668 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:45, output treesize:29 [2018-12-23 14:19:34,680 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:34,681 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_46|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_46| ULTIMATE.start_main_p2))) (and (= (store |v_#memory_int_46| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (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)) (= (+ (select |v_#memory_int_46| ULTIMATE.start_main_p4) 1) 0) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_46| ULTIMATE.start_main_p1)))) [2018-12-23 14:19:34,681 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, 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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1))) [2018-12-23 14:19:34,713 INFO L273 TraceCheckUtils]: 0: Hoare triple {1007#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {1015#(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_p2)) (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) (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)))} is VALID [2018-12-23 14:19:34,715 INFO L273 TraceCheckUtils]: 1: Hoare triple {1015#(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_p2)) (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) (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)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1019#(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))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:19:34,717 INFO L273 TraceCheckUtils]: 2: Hoare triple {1019#(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))) (= (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]; {1023#(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)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-23 14:19:34,721 INFO L273 TraceCheckUtils]: 3: Hoare triple {1023#(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)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {1008#false} is VALID [2018-12-23 14:19:34,721 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:34,722 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:19:34,769 INFO L273 TraceCheckUtils]: 3: Hoare triple {1027#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1008#false} is VALID [2018-12-23 14:19:34,771 INFO L273 TraceCheckUtils]: 2: Hoare triple {1031#(<= 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]; {1027#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:34,772 INFO L273 TraceCheckUtils]: 1: Hoare triple {1035#(<= 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]; {1031#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:34,774 INFO L273 TraceCheckUtils]: 0: Hoare triple {1007#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {1035#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:34,775 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:34,795 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:19:34,795 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:19:34,795 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:19:34,795 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:19:34,796 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:19:34,796 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:19:34,810 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:34,810 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:19:34,811 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:19:34,811 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=69, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:19:34,811 INFO L87 Difference]: Start difference. First operand 23 states and 73 transitions. Second operand 8 states. [2018-12-23 14:19:35,863 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:35,863 INFO L93 Difference]: Finished difference Result 56 states and 117 transitions. [2018-12-23 14:19:35,863 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-23 14:19:35,863 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:19:35,863 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:19:35,864 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:19:35,865 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 73 transitions. [2018-12-23 14:19:35,865 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:19:35,866 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 73 transitions. [2018-12-23 14:19:35,866 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 73 transitions. [2018-12-23 14:19:36,037 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:36,038 INFO L225 Difference]: With dead ends: 56 [2018-12-23 14:19:36,039 INFO L226 Difference]: Without dead ends: 55 [2018-12-23 14:19:36,040 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=60, Invalid=96, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:19:36,040 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2018-12-23 14:19:36,231 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 24. [2018-12-23 14:19:36,231 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:19:36,231 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 24 states. [2018-12-23 14:19:36,231 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 24 states. [2018-12-23 14:19:36,232 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 24 states. [2018-12-23 14:19:36,234 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:36,234 INFO L93 Difference]: Finished difference Result 55 states and 115 transitions. [2018-12-23 14:19:36,234 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 115 transitions. [2018-12-23 14:19:36,235 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:36,235 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:36,235 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 55 states. [2018-12-23 14:19:36,235 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 55 states. [2018-12-23 14:19:36,238 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:36,238 INFO L93 Difference]: Finished difference Result 55 states and 115 transitions. [2018-12-23 14:19:36,238 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 115 transitions. [2018-12-23 14:19:36,238 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:36,239 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:36,239 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:19:36,239 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:19:36,239 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2018-12-23 14:19:36,240 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 79 transitions. [2018-12-23 14:19:36,241 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 79 transitions. Word has length 4 [2018-12-23 14:19:36,241 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:19:36,241 INFO L480 AbstractCegarLoop]: Abstraction has 24 states and 79 transitions. [2018-12-23 14:19:36,241 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:19:36,241 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 79 transitions. [2018-12-23 14:19:36,241 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-23 14:19:36,241 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:19:36,242 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-23 14:19:36,242 INFO L423 AbstractCegarLoop]: === Iteration 9 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:19:36,242 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:36,242 INFO L82 PathProgramCache]: Analyzing trace with hash 941276, now seen corresponding path program 1 times [2018-12-23 14:19:36,242 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:19:36,243 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:36,243 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:36,243 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:36,243 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:19:36,253 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:36,321 INFO L273 TraceCheckUtils]: 0: Hoare triple {1256#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {1258#(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)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:19:36,323 INFO L273 TraceCheckUtils]: 1: Hoare triple {1258#(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)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1259#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:19:36,324 INFO L273 TraceCheckUtils]: 2: Hoare triple {1259#(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]; {1260#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:19:36,325 INFO L273 TraceCheckUtils]: 3: Hoare triple {1260#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {1257#false} is VALID [2018-12-23 14:19:36,325 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:36,326 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:36,326 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:19:36,326 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-23 14:19:36,327 INFO L207 CegarAbsIntRunner]: [0], [14], [18], [23] [2018-12-23 14:19:36,332 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:19:36,332 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:19:36,350 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:19:36,350 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 56 root evaluator evaluations with a maximum evaluation depth of 2. Performed 56 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:19:36,351 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:36,351 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:19:36,351 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:36,351 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:19:36,360 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:36,360 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:19:36,364 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:36,369 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:36,369 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:19:36,437 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:36,438 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 31 treesize of output 40 [2018-12-23 14:19:36,482 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:36,483 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:36,485 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 27 treesize of output 42 [2018-12-23 14:19:36,556 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:36,557 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:36,557 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:36,558 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:36,559 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 25 [2018-12-23 14:19:36,561 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:36,572 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:36,582 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:36,600 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:19:36,608 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 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 27 [2018-12-23 14:19:36,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, 6 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:19:36,637 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:19:36,658 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:19:36,670 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:36,693 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:36,706 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:36,718 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:36,729 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:36,754 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:36,755 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 4 variables, input treesize:52, output treesize:50 [2018-12-23 14:19:36,764 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:36,764 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_49|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, |v_#valid_13|]. (let ((.cse1 (store |v_#valid_13| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p2 1))) (and (= (select .cse0 ULTIMATE.start_main_p3) 0) (= 0 (select .cse1 ULTIMATE.start_main_p2)) (= (store (store (store (store (store |v_#memory_int_49| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (= (select (store .cse0 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4) 0)))) [2018-12-23 14:19:36,764 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (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_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) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:19:36,916 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:36,917 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 45 [2018-12-23 14:19:36,924 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:36,945 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:36,946 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:55, output treesize:33 [2018-12-23 14:19:38,952 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:38,953 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_50|, ULTIMATE.start_main_p4, 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_p3)) (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 |v_#memory_int_50| ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_50| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 .cse0))) [2018-12-23 14:19:38,953 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (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)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:19:39,002 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:39,003 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:39,005 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:39,006 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:39,007 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:39,008 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:39,009 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 67 [2018-12-23 14:19:39,012 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:39,037 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:39,037 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:45, output treesize:27 [2018-12-23 14:19:39,358 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:39,358 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_51|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_51| ULTIMATE.start_main_p3))) (and (= .cse0 0) (= (select |v_#memory_int_51| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (+ (select |v_#memory_int_51| ULTIMATE.start_main_p4) 1)) (= (store |v_#memory_int_51| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_51| ULTIMATE.start_main_p1) 0))) [2018-12-23 14:19:39,358 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) [2018-12-23 14:19:39,383 INFO L273 TraceCheckUtils]: 0: Hoare triple {1256#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {1264#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:19:39,385 INFO L273 TraceCheckUtils]: 1: Hoare triple {1264#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (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]; {1268#(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)) (exists ((ULTIMATE.start_main_p2 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)))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:19:39,387 INFO L273 TraceCheckUtils]: 2: Hoare triple {1268#(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)) (exists ((ULTIMATE.start_main_p2 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)))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {1272#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} is VALID [2018-12-23 14:19:39,388 INFO L273 TraceCheckUtils]: 3: Hoare triple {1272#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (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); {1257#false} is VALID [2018-12-23 14:19:39,389 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:39,389 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:19:39,428 INFO L273 TraceCheckUtils]: 3: Hoare triple {1276#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1257#false} is VALID [2018-12-23 14:19:39,429 INFO L273 TraceCheckUtils]: 2: Hoare triple {1280#(<= 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]; {1276#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:39,431 INFO L273 TraceCheckUtils]: 1: Hoare triple {1284#(<= 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]; {1280#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:39,433 INFO L273 TraceCheckUtils]: 0: Hoare triple {1256#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {1284#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:39,433 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:39,454 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:19:39,455 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:19:39,455 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:19:39,455 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:19:39,455 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:19:39,455 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:19:39,466 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:39,466 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:19:39,467 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:19:39,467 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:19:39,467 INFO L87 Difference]: Start difference. First operand 24 states and 79 transitions. Second operand 8 states. [2018-12-23 14:19:40,432 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:40,433 INFO L93 Difference]: Finished difference Result 52 states and 120 transitions. [2018-12-23 14:19:40,433 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-23 14:19:40,433 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:19:40,433 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:19:40,434 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:19:40,435 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 63 transitions. [2018-12-23 14:19:40,435 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:19:40,436 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 63 transitions. [2018-12-23 14:19:40,436 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 63 transitions. [2018-12-23 14:19:40,570 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:40,571 INFO L225 Difference]: With dead ends: 52 [2018-12-23 14:19:40,571 INFO L226 Difference]: Without dead ends: 48 [2018-12-23 14:19:40,572 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:19:40,572 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 48 states. [2018-12-23 14:19:40,676 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 48 to 26. [2018-12-23 14:19:40,676 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:19:40,676 INFO L82 GeneralOperation]: Start isEquivalent. First operand 48 states. Second operand 26 states. [2018-12-23 14:19:40,676 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 26 states. [2018-12-23 14:19:40,677 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 26 states. [2018-12-23 14:19:40,680 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:40,681 INFO L93 Difference]: Finished difference Result 48 states and 114 transitions. [2018-12-23 14:19:40,681 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 114 transitions. [2018-12-23 14:19:40,681 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:40,681 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:40,682 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 48 states. [2018-12-23 14:19:40,682 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 48 states. [2018-12-23 14:19:40,684 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:40,684 INFO L93 Difference]: Finished difference Result 48 states and 114 transitions. [2018-12-23 14:19:40,684 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 114 transitions. [2018-12-23 14:19:40,684 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:40,685 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:40,685 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:19:40,685 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:19:40,685 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-12-23 14:19:40,686 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 90 transitions. [2018-12-23 14:19:40,687 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 90 transitions. Word has length 4 [2018-12-23 14:19:40,687 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:19:40,687 INFO L480 AbstractCegarLoop]: Abstraction has 26 states and 90 transitions. [2018-12-23 14:19:40,687 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:19:40,687 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 90 transitions. [2018-12-23 14:19:40,687 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-23 14:19:40,687 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:19:40,688 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-23 14:19:40,688 INFO L423 AbstractCegarLoop]: === Iteration 10 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:19:40,688 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:40,688 INFO L82 PathProgramCache]: Analyzing trace with hash 943510, now seen corresponding path program 1 times [2018-12-23 14:19:40,688 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:19:40,689 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:40,689 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:40,689 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:40,689 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:19:40,694 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:40,759 INFO L273 TraceCheckUtils]: 0: Hoare triple {1492#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {1494#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:19:40,760 INFO L273 TraceCheckUtils]: 1: Hoare triple {1494#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {1495#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:19:40,761 INFO L273 TraceCheckUtils]: 2: Hoare triple {1495#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {1495#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:19:40,761 INFO L273 TraceCheckUtils]: 3: Hoare triple {1495#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {1493#false} is VALID [2018-12-23 14:19:40,761 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:40,762 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:40,762 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:19:40,762 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-23 14:19:40,762 INFO L207 CegarAbsIntRunner]: [0], [20], [24], [25] [2018-12-23 14:19:40,764 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:19:40,764 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:19:40,777 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:19:40,777 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 56 root evaluator evaluations with a maximum evaluation depth of 2. Performed 56 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-23 14:19:40,777 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:40,777 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:19:40,777 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:40,777 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:19:40,786 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:40,786 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:19:40,790 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:40,795 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:40,795 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:19:40,822 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:19:40,828 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:19:40,840 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:40,841 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:40,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, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 33 [2018-12-23 14:19:40,854 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:40,856 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:40,888 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:40,889 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 25 treesize of output 47 [2018-12-23 14:19:40,917 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:40,919 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:40,921 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:40,922 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:40,923 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 62 [2018-12-23 14:19:40,937 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:40,962 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:40,977 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:40,989 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:41,001 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:41,021 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 39 [2018-12-23 14:19:41,058 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:41,063 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:41,063 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 49 [2018-12-23 14:19:41,196 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:41,197 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:41,198 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:41,199 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:41,200 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 57 [2018-12-23 14:19:41,282 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:41,284 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:41,286 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:41,289 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:41,291 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:41,295 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:41,296 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 37 [2018-12-23 14:19:41,302 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:41,327 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:41,364 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:41,383 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:41,437 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:41,438 INFO L202 ElimStorePlain]: Needed 10 recursive calls to eliminate 5 variables, input treesize:61, output treesize:62 [2018-12-23 14:19:41,448 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:41,448 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_54|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, |v_#valid_14|]. (let ((.cse0 (store (store |v_#valid_14| 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)) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= |#memory_int| (store (store (store (store (store |v_#memory_int_54| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (= 0 (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5))))) [2018-12-23 14:19:41,448 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p1]. (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)) (= (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)) [2018-12-23 14:19:41,560 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:41,562 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 68 [2018-12-23 14:19:41,566 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:41,606 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:41,606 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:72, output treesize:46 [2018-12-23 14:19:43,820 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:43,820 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_55|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_55| ULTIMATE.start_main_p5))) (and (= .cse0 0) (= 0 (select |v_#memory_int_55| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_55| ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (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_p4)) (= (store |v_#memory_int_55| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-23 14:19:43,820 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (and (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_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)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:19:43,910 INFO L273 TraceCheckUtils]: 0: Hoare triple {1492#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {1499#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 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_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_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)))))} is VALID [2018-12-23 14:19:43,916 INFO L273 TraceCheckUtils]: 1: Hoare triple {1499#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 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_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_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)))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {1503#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 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_p1 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)) (= (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_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2018-12-23 14:19:43,917 INFO L273 TraceCheckUtils]: 2: Hoare triple {1503#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 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_p1 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)) (= (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_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; {1503#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 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_p1 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)) (= (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_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2018-12-23 14:19:43,918 INFO L273 TraceCheckUtils]: 3: Hoare triple {1503#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 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_p1 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)) (= (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_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} assume !(#memory_int[main_p2] <= 0); {1493#false} is VALID [2018-12-23 14:19:43,918 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:43,918 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:19:43,941 INFO L273 TraceCheckUtils]: 3: Hoare triple {1510#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {1493#false} is VALID [2018-12-23 14:19:43,942 INFO L273 TraceCheckUtils]: 2: Hoare triple {1510#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {1510#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:19:43,944 INFO L273 TraceCheckUtils]: 1: Hoare triple {1517#(<= (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]; {1510#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:19:43,946 INFO L273 TraceCheckUtils]: 0: Hoare triple {1492#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {1517#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:19:43,946 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:43,965 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:19:43,966 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-23 14:19:43,966 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:19:43,966 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2018-12-23 14:19:43,966 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:19:43,966 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-23 14:19:43,978 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:43,978 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-23 14:19:43,978 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-23 14:19:43,978 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-23 14:19:43,978 INFO L87 Difference]: Start difference. First operand 26 states and 90 transitions. Second operand 6 states. [2018-12-23 14:19:44,454 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:44,454 INFO L93 Difference]: Finished difference Result 42 states and 110 transitions. [2018-12-23 14:19:44,454 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-12-23 14:19:44,454 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2018-12-23 14:19:44,455 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:19:44,455 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-23 14:19:44,455 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2018-12-23 14:19:44,455 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-23 14:19:44,456 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2018-12-23 14:19:44,456 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 46 transitions. [2018-12-23 14:19:44,574 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:44,575 INFO L225 Difference]: With dead ends: 42 [2018-12-23 14:19:44,575 INFO L226 Difference]: Without dead ends: 41 [2018-12-23 14:19:44,575 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2018-12-23 14:19:44,576 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 41 states. [2018-12-23 14:19:44,729 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 41 to 26. [2018-12-23 14:19:44,730 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:19:44,730 INFO L82 GeneralOperation]: Start isEquivalent. First operand 41 states. Second operand 26 states. [2018-12-23 14:19:44,730 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 26 states. [2018-12-23 14:19:44,730 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 26 states. [2018-12-23 14:19:44,732 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:44,732 INFO L93 Difference]: Finished difference Result 41 states and 108 transitions. [2018-12-23 14:19:44,733 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 108 transitions. [2018-12-23 14:19:44,733 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:44,733 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:44,733 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 41 states. [2018-12-23 14:19:44,733 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 41 states. [2018-12-23 14:19:44,735 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:44,735 INFO L93 Difference]: Finished difference Result 41 states and 108 transitions. [2018-12-23 14:19:44,735 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 108 transitions. [2018-12-23 14:19:44,735 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:44,735 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:44,736 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:19:44,736 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:19:44,736 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2018-12-23 14:19:44,737 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 90 transitions. [2018-12-23 14:19:44,737 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 90 transitions. Word has length 4 [2018-12-23 14:19:44,737 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:19:44,737 INFO L480 AbstractCegarLoop]: Abstraction has 26 states and 90 transitions. [2018-12-23 14:19:44,737 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-23 14:19:44,737 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 90 transitions. [2018-12-23 14:19:44,738 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-23 14:19:44,738 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:19:44,738 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-23 14:19:44,738 INFO L423 AbstractCegarLoop]: === Iteration 11 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:19:44,738 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:44,738 INFO L82 PathProgramCache]: Analyzing trace with hash 943074, now seen corresponding path program 1 times [2018-12-23 14:19:44,739 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:19:44,739 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:44,739 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:44,740 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:44,740 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:19:44,746 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:44,934 INFO L273 TraceCheckUtils]: 0: Hoare triple {1699#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {1701#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:19:44,935 INFO L273 TraceCheckUtils]: 1: Hoare triple {1701#(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]; {1702#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:19:44,936 INFO L273 TraceCheckUtils]: 2: Hoare triple {1702#(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]; {1703#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:19:44,937 INFO L273 TraceCheckUtils]: 3: Hoare triple {1703#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {1700#false} is VALID [2018-12-23 14:19:44,937 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:44,937 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:44,938 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:19:44,938 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-23 14:19:44,938 INFO L207 CegarAbsIntRunner]: [0], [10], [20], [23] [2018-12-23 14:19:44,942 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:19:44,942 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:19:44,957 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:19:44,958 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 56 root evaluator evaluations with a maximum evaluation depth of 2. Performed 56 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:19:44,958 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:44,958 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:19:44,958 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:44,958 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:19:44,968 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:44,968 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:19:44,973 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:44,978 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:44,979 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:19:45,044 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 18 treesize of output 21 [2018-12-23 14:19:45,053 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:19:45,066 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:45,067 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:45,068 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:19:45,115 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:45,116 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:45,117 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:45,118 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:19:45,137 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:45,139 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:45,140 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:45,142 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:45,143 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:19:45,149 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:45,196 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:45,215 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:45,229 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:45,243 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:45,274 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:45,276 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-23 14:19:45,332 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:45,334 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:45,335 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-23 14:19:45,403 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:45,405 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:45,406 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:45,407 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:45,408 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-23 14:19:45,488 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:45,489 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:45,490 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:45,491 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:45,493 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:45,494 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:45,495 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-23 14:19:45,501 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:45,520 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:45,539 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:45,558 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:45,604 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:45,605 INFO L202 ElimStorePlain]: Needed 10 recursive calls to eliminate 4 variables, input treesize:69, output treesize:66 [2018-12-23 14:19:45,615 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:45,615 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_57|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, |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 |v_#memory_int_57| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (= 0 (select .cse0 ULTIMATE.start_main_p2)) (= (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= 0 (select .cse2 ULTIMATE.start_main_p3)))))) [2018-12-23 14:19:45,615 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [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)) (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)) [2018-12-23 14:19:45,721 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:45,722 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2018-12-23 14:19:45,729 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:45,774 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:45,774 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-23 14:19:45,786 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:45,786 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_58|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_58| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_58| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_58| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_58| ULTIMATE.start_main_p3) 0) (= 0 (select |v_#memory_int_58| ULTIMATE.start_main_p4)) (= (store |v_#memory_int_58| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (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)) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-23 14:19:45,787 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:19:45,875 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:45,877 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:45,878 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:45,879 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:45,880 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:45,881 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:45,882 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:45,884 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 86 [2018-12-23 14:19:45,890 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:45,937 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:45,938 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:60, output treesize:38 [2018-12-23 14:19:47,961 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:47,961 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_59|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_59| ULTIMATE.start_main_p2))) (and (= 1 (select |v_#memory_int_59| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_59| ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_59| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (store |v_#memory_int_59| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_59| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) [2018-12-23 14:19:47,962 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:19:48,020 INFO L273 TraceCheckUtils]: 0: Hoare triple {1699#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {1707#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:19:48,023 INFO L273 TraceCheckUtils]: 1: Hoare triple {1707#(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]; {1711#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2018-12-23 14:19:48,026 INFO L273 TraceCheckUtils]: 2: Hoare triple {1711#(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]; {1715#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2018-12-23 14:19:48,027 INFO L273 TraceCheckUtils]: 3: Hoare triple {1715#(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); {1700#false} is VALID [2018-12-23 14:19:48,027 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:48,028 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:19:48,074 INFO L273 TraceCheckUtils]: 3: Hoare triple {1719#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1700#false} is VALID [2018-12-23 14:19:48,076 INFO L273 TraceCheckUtils]: 2: Hoare triple {1723#(<= 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]; {1719#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:48,078 INFO L273 TraceCheckUtils]: 1: Hoare triple {1727#(<= 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]; {1723#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:48,080 INFO L273 TraceCheckUtils]: 0: Hoare triple {1699#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {1727#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:48,081 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:48,101 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:19:48,101 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:19:48,101 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:19:48,102 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:19:48,102 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:19:48,102 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:19:48,118 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:48,118 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:19:48,119 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:19:48,119 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:19:48,119 INFO L87 Difference]: Start difference. First operand 26 states and 90 transitions. Second operand 8 states. [2018-12-23 14:19:49,177 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:49,177 INFO L93 Difference]: Finished difference Result 54 states and 131 transitions. [2018-12-23 14:19:49,177 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-23 14:19:49,178 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:19:49,178 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:19:49,178 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:19:49,179 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 60 transitions. [2018-12-23 14:19:49,179 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:19:49,180 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 60 transitions. [2018-12-23 14:19:49,180 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 60 transitions. [2018-12-23 14:19:49,393 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:49,395 INFO L225 Difference]: With dead ends: 54 [2018-12-23 14:19:49,395 INFO L226 Difference]: Without dead ends: 53 [2018-12-23 14:19:49,396 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:19:49,396 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2018-12-23 14:19:49,665 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 27. [2018-12-23 14:19:49,666 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:19:49,666 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand 27 states. [2018-12-23 14:19:49,666 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand 27 states. [2018-12-23 14:19:49,666 INFO L87 Difference]: Start difference. First operand 53 states. Second operand 27 states. [2018-12-23 14:19:49,668 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:49,668 INFO L93 Difference]: Finished difference Result 53 states and 129 transitions. [2018-12-23 14:19:49,669 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 129 transitions. [2018-12-23 14:19:49,669 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:49,669 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:49,670 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 53 states. [2018-12-23 14:19:49,670 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 53 states. [2018-12-23 14:19:49,671 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:49,672 INFO L93 Difference]: Finished difference Result 53 states and 129 transitions. [2018-12-23 14:19:49,672 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 129 transitions. [2018-12-23 14:19:49,672 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:49,672 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:49,672 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:19:49,672 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:19:49,673 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 27 states. [2018-12-23 14:19:49,674 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 96 transitions. [2018-12-23 14:19:49,674 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 96 transitions. Word has length 4 [2018-12-23 14:19:49,674 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:19:49,674 INFO L480 AbstractCegarLoop]: Abstraction has 27 states and 96 transitions. [2018-12-23 14:19:49,674 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:19:49,674 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 96 transitions. [2018-12-23 14:19:49,674 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-23 14:19:49,675 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:19:49,675 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-23 14:19:49,675 INFO L423 AbstractCegarLoop]: === Iteration 12 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:19:49,675 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:49,675 INFO L82 PathProgramCache]: Analyzing trace with hash 929868, now seen corresponding path program 1 times [2018-12-23 14:19:49,675 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:19:49,676 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:49,676 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:49,676 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:49,677 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:19:49,684 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:49,787 INFO L273 TraceCheckUtils]: 0: Hoare triple {1951#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {1953#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:19:49,788 INFO L273 TraceCheckUtils]: 1: Hoare triple {1953#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {1954#(and (or (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (or (<= 1 (select |#memory_int| ULTIMATE.start_main_p4)) (not (= (select |#memory_int| ULTIMATE.start_main_p4) (select |#memory_int| ULTIMATE.start_main_p1)))))} is VALID [2018-12-23 14:19:49,790 INFO L273 TraceCheckUtils]: 2: Hoare triple {1954#(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]; {1955#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:49,796 INFO L273 TraceCheckUtils]: 3: Hoare triple {1955#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1952#false} is VALID [2018-12-23 14:19:49,797 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:49,797 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:49,797 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:19:49,797 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-23 14:19:49,797 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [23] [2018-12-23 14:19:49,798 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:19:49,798 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:19:49,821 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:19:49,821 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 56 root evaluator evaluations with a maximum evaluation depth of 2. Performed 56 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:19:49,821 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:49,821 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:19:49,821 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:49,821 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:19:49,834 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:49,834 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:19:49,838 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:49,841 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:49,842 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:19:49,885 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:49,886 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 31 treesize of output 40 [2018-12-23 14:19:49,927 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:49,929 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:49,930 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 27 treesize of output 42 [2018-12-23 14:19:49,977 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:49,978 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:49,979 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:49,981 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:49,982 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 25 [2018-12-23 14:19:49,984 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:49,993 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:50,004 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:50,022 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:19:50,030 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 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 27 [2018-12-23 14:19:50,039 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 6 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:19:50,051 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:19:50,069 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:19:50,071 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:50,090 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:50,104 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:50,117 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:50,128 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:50,155 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:50,156 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 5 variables, input treesize:52, output treesize:50 [2018-12-23 14:19:50,165 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:50,165 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_62|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, |v_#valid_16|]. (let ((.cse1 (store |v_#valid_16| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p2 1))) (and (= (store (store (store (store (store |v_#memory_int_62| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (= (select (store .cse0 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4) 0) (= (select .cse0 ULTIMATE.start_main_p3) 0) (= 0 (select .cse1 ULTIMATE.start_main_p2))))) [2018-12-23 14:19:50,165 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| 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)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:19:50,237 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:50,238 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 51 [2018-12-23 14:19:50,241 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:50,265 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:50,265 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:55, output treesize:33 [2018-12-23 14:19:50,271 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:50,271 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_63|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_63| ULTIMATE.start_main_p1))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_63| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (store |v_#memory_int_63| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_63| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_63| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) [2018-12-23 14:19:50,271 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, 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_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:19:50,333 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:50,334 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:50,335 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:50,336 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:50,337 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:50,338 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:50,339 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 57 [2018-12-23 14:19:50,343 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:50,372 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:50,373 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:43, output treesize:25 [2018-12-23 14:19:51,404 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:51,405 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_64|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_64| ULTIMATE.start_main_p4))) (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 |v_#memory_int_64| ULTIMATE.start_main_p2) 0) (= .cse0 0) (= (select |v_#memory_int_64| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_64| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_64| ULTIMATE.start_main_p1) 1))) [2018-12-23 14:19:51,405 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, 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_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:19:51,442 INFO L273 TraceCheckUtils]: 0: Hoare triple {1951#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {1959#(and (= (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_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:19:51,444 INFO L273 TraceCheckUtils]: 1: Hoare triple {1959#(and (= (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_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)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {1963#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (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_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:19:51,445 INFO L273 TraceCheckUtils]: 2: Hoare triple {1963#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (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_p2)) (not (= ULTIMATE.start_main_p2 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]; {1967#(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_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-23 14:19:51,446 INFO L273 TraceCheckUtils]: 3: Hoare triple {1967#(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_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (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); {1952#false} is VALID [2018-12-23 14:19:51,446 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:51,447 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:19:51,473 INFO L273 TraceCheckUtils]: 3: Hoare triple {1955#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1952#false} is VALID [2018-12-23 14:19:51,474 INFO L273 TraceCheckUtils]: 2: Hoare triple {1974#(<= 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]; {1955#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:51,475 INFO L273 TraceCheckUtils]: 1: Hoare triple {1978#(<= 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]; {1974#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:51,477 INFO L273 TraceCheckUtils]: 0: Hoare triple {1951#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {1978#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:51,478 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:51,498 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:19:51,498 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2018-12-23 14:19:51,499 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:19:51,499 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:19:51,499 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:19:51,499 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:19:51,515 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:51,515 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:19:51,515 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:19:51,515 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=37, Invalid=53, Unknown=0, NotChecked=0, Total=90 [2018-12-23 14:19:51,515 INFO L87 Difference]: Start difference. First operand 27 states and 96 transitions. Second operand 8 states. [2018-12-23 14:19:52,219 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:52,219 INFO L93 Difference]: Finished difference Result 63 states and 165 transitions. [2018-12-23 14:19:52,220 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-23 14:19:52,220 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:19:52,220 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:19:52,220 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:19:52,221 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 79 transitions. [2018-12-23 14:19:52,221 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:19:52,222 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 79 transitions. [2018-12-23 14:19:52,222 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 79 transitions. [2018-12-23 14:19:52,333 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:52,335 INFO L225 Difference]: With dead ends: 63 [2018-12-23 14:19:52,335 INFO L226 Difference]: Without dead ends: 61 [2018-12-23 14:19:52,336 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 22 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=53, Unknown=0, NotChecked=0, Total=90 [2018-12-23 14:19:52,336 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2018-12-23 14:19:52,526 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 32. [2018-12-23 14:19:52,527 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:19:52,527 INFO L82 GeneralOperation]: Start isEquivalent. First operand 61 states. Second operand 32 states. [2018-12-23 14:19:52,527 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand 32 states. [2018-12-23 14:19:52,527 INFO L87 Difference]: Start difference. First operand 61 states. Second operand 32 states. [2018-12-23 14:19:52,529 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:52,529 INFO L93 Difference]: Finished difference Result 61 states and 161 transitions. [2018-12-23 14:19:52,529 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 161 transitions. [2018-12-23 14:19:52,530 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:52,530 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:52,530 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 61 states. [2018-12-23 14:19:52,530 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 61 states. [2018-12-23 14:19:52,532 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:52,533 INFO L93 Difference]: Finished difference Result 61 states and 161 transitions. [2018-12-23 14:19:52,533 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 161 transitions. [2018-12-23 14:19:52,533 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:52,533 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:52,533 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:19:52,534 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:19:52,534 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2018-12-23 14:19:52,535 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 113 transitions. [2018-12-23 14:19:52,535 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 113 transitions. Word has length 4 [2018-12-23 14:19:52,535 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:19:52,536 INFO L480 AbstractCegarLoop]: Abstraction has 32 states and 113 transitions. [2018-12-23 14:19:52,536 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:19:52,536 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 113 transitions. [2018-12-23 14:19:52,536 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-23 14:19:52,536 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:19:52,536 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-23 14:19:52,537 INFO L423 AbstractCegarLoop]: === Iteration 13 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:19:52,537 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:52,537 INFO L82 PathProgramCache]: Analyzing trace with hash 930056, now seen corresponding path program 1 times [2018-12-23 14:19:52,537 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:19:52,538 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:52,538 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:52,538 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:52,538 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:19:52,546 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:52,638 INFO L273 TraceCheckUtils]: 0: Hoare triple {2235#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {2237#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:19:52,639 INFO L273 TraceCheckUtils]: 1: Hoare triple {2237#(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]; {2237#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:19:52,640 INFO L273 TraceCheckUtils]: 2: Hoare triple {2237#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {2238#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:19:52,640 INFO L273 TraceCheckUtils]: 3: Hoare triple {2238#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {2236#false} is VALID [2018-12-23 14:19:52,641 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-23 14:19:52,641 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-12-23 14:19:52,641 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-12-23 14:19:52,641 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-23 14:19:52,641 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 4 [2018-12-23 14:19:52,641 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:19:52,641 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-12-23 14:19:52,645 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 4 edges. 4 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:52,645 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-12-23 14:19:52,646 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-12-23 14:19:52,646 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-12-23 14:19:52,646 INFO L87 Difference]: Start difference. First operand 32 states and 113 transitions. Second operand 4 states. [2018-12-23 14:19:53,023 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:53,024 INFO L93 Difference]: Finished difference Result 41 states and 126 transitions. [2018-12-23 14:19:53,024 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-12-23 14:19:53,024 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 4 [2018-12-23 14:19:53,024 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:19:53,024 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-23 14:19:53,025 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 28 transitions. [2018-12-23 14:19:53,025 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-23 14:19:53,025 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 28 transitions. [2018-12-23 14:19:53,025 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 28 transitions. [2018-12-23 14:19:53,153 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:53,154 INFO L225 Difference]: With dead ends: 41 [2018-12-23 14:19:53,155 INFO L226 Difference]: Without dead ends: 40 [2018-12-23 14:19:53,155 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 0 SyntacticMatches, 1 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-12-23 14:19:53,155 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 40 states. [2018-12-23 14:19:53,404 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 40 to 33. [2018-12-23 14:19:53,404 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:19:53,404 INFO L82 GeneralOperation]: Start isEquivalent. First operand 40 states. Second operand 33 states. [2018-12-23 14:19:53,404 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 33 states. [2018-12-23 14:19:53,405 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 33 states. [2018-12-23 14:19:53,407 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:53,407 INFO L93 Difference]: Finished difference Result 40 states and 124 transitions. [2018-12-23 14:19:53,407 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 124 transitions. [2018-12-23 14:19:53,408 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:53,408 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:53,408 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 40 states. [2018-12-23 14:19:53,408 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 40 states. [2018-12-23 14:19:53,409 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:19:53,410 INFO L93 Difference]: Finished difference Result 40 states and 124 transitions. [2018-12-23 14:19:53,410 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 124 transitions. [2018-12-23 14:19:53,410 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:19:53,410 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:19:53,410 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:19:53,410 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:19:53,411 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-12-23 14:19:53,412 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 118 transitions. [2018-12-23 14:19:53,412 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 118 transitions. Word has length 4 [2018-12-23 14:19:53,412 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:19:53,412 INFO L480 AbstractCegarLoop]: Abstraction has 33 states and 118 transitions. [2018-12-23 14:19:53,412 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-12-23 14:19:53,412 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 118 transitions. [2018-12-23 14:19:53,413 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-23 14:19:53,413 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:19:53,413 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-23 14:19:53,413 INFO L423 AbstractCegarLoop]: === Iteration 14 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:19:53,413 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:19:53,413 INFO L82 PathProgramCache]: Analyzing trace with hash 933712, now seen corresponding path program 2 times [2018-12-23 14:19:53,414 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:19:53,414 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:53,414 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:19:53,415 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:19:53,415 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:19:53,423 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:53,526 INFO L273 TraceCheckUtils]: 0: Hoare triple {2429#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {2431#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:19:53,527 INFO L273 TraceCheckUtils]: 1: Hoare triple {2431#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 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]; {2432#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:19:53,545 INFO L273 TraceCheckUtils]: 2: Hoare triple {2432#(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]; {2433#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:19:53,546 INFO L273 TraceCheckUtils]: 3: Hoare triple {2433#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {2430#false} is VALID [2018-12-23 14:19:53,546 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:53,546 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:53,546 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:19:53,546 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-23 14:19:53,547 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2018-12-23 14:19:53,547 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:19:53,547 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:19:53,559 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-23 14:19:53,559 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-23 14:19:53,564 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2018-12-23 14:19:53,565 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-23 14:19:53,571 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:19:53,572 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:19:53,627 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 18 treesize of output 21 [2018-12-23 14:19:53,638 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:19:53,649 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:53,651 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:53,652 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:19:53,675 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:53,677 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:53,678 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:53,680 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:19:53,705 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:53,706 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:53,708 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:53,709 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:53,711 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:19:53,718 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:53,750 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:53,767 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:53,780 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:53,792 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:53,825 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:53,826 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-23 14:19:53,879 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:53,880 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:53,881 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-23 14:19:54,018 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:54,019 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:54,020 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:54,020 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:54,021 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-23 14:19:54,100 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:54,102 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:54,103 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:54,104 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:54,105 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:54,106 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:54,107 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-23 14:19:54,111 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:54,130 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:54,149 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:54,169 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:19:54,210 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:54,211 INFO L202 ElimStorePlain]: Needed 10 recursive calls to eliminate 4 variables, input treesize:69, output treesize:66 [2018-12-23 14:19:54,235 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:54,236 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_67|, ULTIMATE.start_main_p3, ULTIMATE.start_malloc_ptr, |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 (= 0 (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_malloc_ptr)) (= 0 (select .cse0 ULTIMATE.start_main_p4)) (= (store (store (store (store (store |v_#memory_int_67| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_malloc_ptr 0) |#memory_int|) (= 0 (select .cse1 ULTIMATE.start_main_p3)) (= 0 (select .cse2 ULTIMATE.start_main_p2)))))) [2018-12-23 14:19:54,236 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_malloc_ptr]. (and (= 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)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:19:54,672 WARN L181 SmtUtils]: Spent 206.00 ms on a formula simplification that was a NOOP. DAG size: 40 [2018-12-23 14:19:54,747 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:54,749 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2018-12-23 14:19:54,754 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:54,796 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:54,796 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-23 14:19:56,879 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:56,880 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_68|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_malloc_ptr]. (let ((.cse0 (select |v_#memory_int_68| ULTIMATE.start_main_p2))) (and (= .cse0 0) (= (store |v_#memory_int_68| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_68| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_68| ULTIMATE.start_main_p4) 0) (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_p2)) (= 0 (select |v_#memory_int_68| ULTIMATE.start_malloc_ptr)) (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)) (= (select |v_#memory_int_68| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)))) [2018-12-23 14:19:56,880 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (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) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr))) [2018-12-23 14:19:56,975 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:56,980 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:56,981 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:56,982 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:56,982 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:56,983 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:19:56,983 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:19:56,985 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 79 [2018-12-23 14:19:56,990 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:19:57,036 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:19:57,036 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:62, output treesize:44 [2018-12-23 14:19:59,247 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:19:59,247 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_69|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_69| ULTIMATE.start_main_p4))) (and (= (store |v_#memory_int_69| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_69| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_69| ULTIMATE.start_malloc_ptr)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (= (select |v_#memory_int_69| ULTIMATE.start_main_p1) 0) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (+ (select |v_#memory_int_69| ULTIMATE.start_main_p2) 1)))) [2018-12-23 14:19:59,247 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= (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_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr))) [2018-12-23 14:19:59,298 INFO L273 TraceCheckUtils]: 0: Hoare triple {2429#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {2437#(and (exists ((ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (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_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (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)))) (= (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)))} is VALID [2018-12-23 14:19:59,301 INFO L273 TraceCheckUtils]: 1: Hoare triple {2437#(and (exists ((ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (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_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (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)))) (= (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)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {2441#(and (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_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (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)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:19:59,304 INFO L273 TraceCheckUtils]: 2: Hoare triple {2441#(and (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_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (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)))) (= (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]; {2445#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (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)))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2018-12-23 14:19:59,306 INFO L273 TraceCheckUtils]: 3: Hoare triple {2445#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (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)))) (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); {2430#false} is VALID [2018-12-23 14:19:59,307 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:59,307 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:19:59,360 INFO L273 TraceCheckUtils]: 3: Hoare triple {2449#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {2430#false} is VALID [2018-12-23 14:19:59,361 INFO L273 TraceCheckUtils]: 2: Hoare triple {2453#(<= 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]; {2449#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:59,363 INFO L273 TraceCheckUtils]: 1: Hoare triple {2457#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {2453#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:59,365 INFO L273 TraceCheckUtils]: 0: Hoare triple {2429#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {2457#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:19:59,366 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:19:59,384 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:19:59,385 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:19:59,385 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:19:59,385 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:19:59,385 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:19:59,385 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:19:59,398 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:19:59,398 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:19:59,399 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:19:59,399 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=67, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:19:59,399 INFO L87 Difference]: Start difference. First operand 33 states and 118 transitions. Second operand 8 states. [2018-12-23 14:20:00,539 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:00,539 INFO L93 Difference]: Finished difference Result 57 states and 149 transitions. [2018-12-23 14:20:00,539 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-23 14:20:00,539 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:20:00,539 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:20:00,539 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:20:00,540 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 58 transitions. [2018-12-23 14:20:00,540 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:20:00,540 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 58 transitions. [2018-12-23 14:20:00,540 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 58 transitions. [2018-12-23 14:20:00,639 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:00,641 INFO L225 Difference]: With dead ends: 57 [2018-12-23 14:20:00,641 INFO L226 Difference]: Without dead ends: 55 [2018-12-23 14:20:00,642 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=61, Invalid=95, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:20:00,642 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2018-12-23 14:20:01,754 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 33. [2018-12-23 14:20:01,755 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:20:01,755 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 33 states. [2018-12-23 14:20:01,755 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 33 states. [2018-12-23 14:20:01,755 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 33 states. [2018-12-23 14:20:01,757 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:01,757 INFO L93 Difference]: Finished difference Result 55 states and 146 transitions. [2018-12-23 14:20:01,757 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 146 transitions. [2018-12-23 14:20:01,757 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:01,757 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:01,757 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 55 states. [2018-12-23 14:20:01,758 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 55 states. [2018-12-23 14:20:01,759 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:01,759 INFO L93 Difference]: Finished difference Result 55 states and 146 transitions. [2018-12-23 14:20:01,759 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 146 transitions. [2018-12-23 14:20:01,759 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:01,760 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:01,760 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:20:01,760 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:20:01,760 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2018-12-23 14:20:01,761 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 117 transitions. [2018-12-23 14:20:01,761 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 117 transitions. Word has length 4 [2018-12-23 14:20:01,761 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:20:01,761 INFO L480 AbstractCegarLoop]: Abstraction has 33 states and 117 transitions. [2018-12-23 14:20:01,761 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:20:01,761 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 117 transitions. [2018-12-23 14:20:01,762 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-23 14:20:01,762 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:20:01,762 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-23 14:20:01,762 INFO L423 AbstractCegarLoop]: === Iteration 15 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:20:01,762 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:01,763 INFO L82 PathProgramCache]: Analyzing trace with hash 933340, now seen corresponding path program 1 times [2018-12-23 14:20:01,763 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:20:01,763 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:01,763 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-23 14:20:01,763 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:01,763 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:20:01,769 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:01,850 INFO L273 TraceCheckUtils]: 0: Hoare triple {2700#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {2702#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:20:01,852 INFO L273 TraceCheckUtils]: 1: Hoare triple {2702#(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]; {2703#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:20:01,853 INFO L273 TraceCheckUtils]: 2: Hoare triple {2703#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2704#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:20:01,854 INFO L273 TraceCheckUtils]: 3: Hoare triple {2704#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {2701#false} is VALID [2018-12-23 14:20:01,854 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:01,855 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:01,855 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:20:01,855 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-23 14:20:01,855 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [23] [2018-12-23 14:20:01,857 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:20:01,857 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:20:01,888 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:20:01,888 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 56 root evaluator evaluations with a maximum evaluation depth of 2. Performed 56 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:20:01,888 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:01,889 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:20:01,889 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:01,889 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:20:01,898 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:20:01,899 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:20:01,903 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:01,906 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:01,907 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:20:01,961 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:01,962 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 40 [2018-12-23 14:20:02,016 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:02,018 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:02,019 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 27 treesize of output 42 [2018-12-23 14:20:02,081 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:02,082 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:02,083 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:02,085 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:02,086 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 25 [2018-12-23 14:20:02,122 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:02,135 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:02,151 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:02,175 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:20:02,216 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 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 27 [2018-12-23 14:20:02,254 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 6 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:20:02,271 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:20:02,305 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:20:02,312 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:02,339 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:02,359 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:02,373 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:02,387 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:02,422 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:02,423 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 5 variables, input treesize:52, output treesize:50 [2018-12-23 14:20:02,434 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:02,434 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_72|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, |v_#valid_18|]. (let ((.cse0 (store |v_#valid_18| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p2 1))) (and (= |#memory_int| (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)) (= 0 (select .cse0 ULTIMATE.start_main_p2)) (= 0 (select (store .cse1 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4)) (= 0 (select .cse1 ULTIMATE.start_main_p3))))) [2018-12-23 14:20:02,435 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| 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)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:20:02,531 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:02,532 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 51 [2018-12-23 14:20:02,580 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:02,629 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:02,629 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:55, output treesize:33 [2018-12-23 14:20:04,644 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:04,644 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_73|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_73| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_73| ULTIMATE.start_main_p4)) (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)) (= (store |v_#memory_int_73| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_73| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_73| ULTIMATE.start_main_p3)) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) [2018-12-23 14:20:04,644 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (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) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:20:04,711 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:04,712 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:04,714 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:04,715 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:04,716 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:04,717 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:04,718 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 67 [2018-12-23 14:20:04,724 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:04,758 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:04,758 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:45, output treesize:27 [2018-12-23 14:20:04,769 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:04,769 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_74|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_74| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_74| ULTIMATE.start_main_p4) 0) (= |#memory_int| (store |v_#memory_int_74| ULTIMATE.start_main_p1 (+ .cse0 1))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (+ (select |v_#memory_int_74| ULTIMATE.start_main_p2) 1) 0) (= .cse0 0) (= (select |v_#memory_int_74| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) [2018-12-23 14:20:04,769 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:20:04,796 INFO L273 TraceCheckUtils]: 0: Hoare triple {2700#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {2708#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2018-12-23 14:20:04,798 INFO L273 TraceCheckUtils]: 1: Hoare triple {2708#(and (= (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]; {2712#(and (exists ((ULTIMATE.start_main_p2 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2018-12-23 14:20:04,800 INFO L273 TraceCheckUtils]: 2: Hoare triple {2712#(and (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)))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2716#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-23 14:20:04,800 INFO L273 TraceCheckUtils]: 3: Hoare triple {2716#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 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); {2701#false} is VALID [2018-12-23 14:20:04,801 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:04,801 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:20:04,861 INFO L273 TraceCheckUtils]: 3: Hoare triple {2704#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {2701#false} is VALID [2018-12-23 14:20:04,862 INFO L273 TraceCheckUtils]: 2: Hoare triple {2723#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2704#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:20:04,863 INFO L273 TraceCheckUtils]: 1: Hoare triple {2727#(<= 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]; {2723#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:20:04,865 INFO L273 TraceCheckUtils]: 0: Hoare triple {2700#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {2727#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:20:04,865 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:04,885 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:20:04,886 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2018-12-23 14:20:04,886 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:20:04,886 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:20:04,886 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:20:04,886 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:20:04,897 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:04,897 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:20:04,897 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:20:04,898 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=51, Unknown=0, NotChecked=0, Total=90 [2018-12-23 14:20:04,898 INFO L87 Difference]: Start difference. First operand 33 states and 117 transitions. Second operand 8 states. [2018-12-23 14:20:05,830 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:05,830 INFO L93 Difference]: Finished difference Result 61 states and 173 transitions. [2018-12-23 14:20:05,830 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-23 14:20:05,830 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:20:05,830 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:20:05,831 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:20:05,831 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 64 transitions. [2018-12-23 14:20:05,832 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:20:05,832 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 64 transitions. [2018-12-23 14:20:05,832 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 64 transitions. [2018-12-23 14:20:05,932 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:05,933 INFO L225 Difference]: With dead ends: 61 [2018-12-23 14:20:05,933 INFO L226 Difference]: Without dead ends: 60 [2018-12-23 14:20:05,934 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=47, Invalid=63, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:20:05,934 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2018-12-23 14:20:06,142 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 36. [2018-12-23 14:20:06,143 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:20:06,143 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand 36 states. [2018-12-23 14:20:06,143 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand 36 states. [2018-12-23 14:20:06,143 INFO L87 Difference]: Start difference. First operand 60 states. Second operand 36 states. [2018-12-23 14:20:06,146 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:06,146 INFO L93 Difference]: Finished difference Result 60 states and 171 transitions. [2018-12-23 14:20:06,146 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 171 transitions. [2018-12-23 14:20:06,146 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:06,147 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:06,147 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand 60 states. [2018-12-23 14:20:06,147 INFO L87 Difference]: Start difference. First operand 36 states. Second operand 60 states. [2018-12-23 14:20:06,149 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:06,149 INFO L93 Difference]: Finished difference Result 60 states and 171 transitions. [2018-12-23 14:20:06,149 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 171 transitions. [2018-12-23 14:20:06,149 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:06,150 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:06,150 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:20:06,150 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:20:06,150 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 36 states. [2018-12-23 14:20:06,151 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 135 transitions. [2018-12-23 14:20:06,152 INFO L78 Accepts]: Start accepts. Automaton has 36 states and 135 transitions. Word has length 4 [2018-12-23 14:20:06,152 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:20:06,152 INFO L480 AbstractCegarLoop]: Abstraction has 36 states and 135 transitions. [2018-12-23 14:20:06,152 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:20:06,152 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 135 transitions. [2018-12-23 14:20:06,152 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-23 14:20:06,153 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:20:06,153 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-23 14:20:06,153 INFO L423 AbstractCegarLoop]: === Iteration 16 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:20:06,153 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:06,153 INFO L82 PathProgramCache]: Analyzing trace with hash 937744, now seen corresponding path program 1 times [2018-12-23 14:20:06,154 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:20:06,154 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:06,155 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:20:06,155 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:06,155 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:20:06,158 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:06,555 INFO L273 TraceCheckUtils]: 0: Hoare triple {2992#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {2994#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:20:06,567 INFO L273 TraceCheckUtils]: 1: Hoare triple {2994#(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]; {2995#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:06,580 INFO L273 TraceCheckUtils]: 2: Hoare triple {2995#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {2995#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:06,593 INFO L273 TraceCheckUtils]: 3: Hoare triple {2995#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {2993#false} is VALID [2018-12-23 14:20:06,593 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:06,593 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:06,593 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:20:06,594 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-23 14:20:06,594 INFO L207 CegarAbsIntRunner]: [0], [14], [24], [25] [2018-12-23 14:20:06,597 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:20:06,597 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:20:06,656 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:20:06,656 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 56 root evaluator evaluations with a maximum evaluation depth of 2. Performed 56 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-23 14:20:06,657 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:06,657 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:20:06,657 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:06,657 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:20:06,675 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:20:06,675 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:20:06,687 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:06,707 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:06,708 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:20:06,811 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:20:06,817 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:20:06,826 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:06,827 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:06,828 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 23 treesize of output 33 [2018-12-23 14:20:06,837 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:06,839 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:06,840 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:06,841 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 25 treesize of output 47 [2018-12-23 14:20:06,858 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:06,860 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:06,862 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:06,863 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:06,864 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 62 [2018-12-23 14:20:06,872 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:06,902 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:06,919 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:06,931 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:06,944 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:06,967 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 39 [2018-12-23 14:20:06,994 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:06,997 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:06,998 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 49 [2018-12-23 14:20:07,051 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:07,053 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:07,055 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:07,056 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:07,058 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 57 [2018-12-23 14:20:07,133 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:07,133 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:07,135 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:07,136 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:07,137 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:07,139 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:07,140 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 37 [2018-12-23 14:20:07,143 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:07,159 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:07,176 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:07,195 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:07,264 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:07,265 INFO L202 ElimStorePlain]: Needed 10 recursive calls to eliminate 5 variables, input treesize:61, output treesize:62 [2018-12-23 14:20:07,273 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:07,273 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_77|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_malloc_ptr, |v_#valid_19|]. (let ((.cse1 (store (store |v_#valid_19| ULTIMATE.start_main_p1 1) 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 (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_malloc_ptr)) (= (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_malloc_ptr 0) |#memory_int|)))) [2018-12-23 14:20:07,273 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_malloc_ptr]. (and (= 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_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:20:07,366 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:07,367 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 68 [2018-12-23 14:20:07,371 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:07,409 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:07,410 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:72, output treesize:46 [2018-12-23 14:20:09,695 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:09,695 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_78|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_78| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_78| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_78| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_78| ULTIMATE.start_malloc_ptr) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (store |v_#memory_int_78| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (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_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_p4)) (= (select |v_#memory_int_78| ULTIMATE.start_main_p1) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)))) [2018-12-23 14:20:09,696 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (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_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 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) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr))) [2018-12-23 14:20:09,776 INFO L273 TraceCheckUtils]: 0: Hoare triple {2992#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {2999#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int) (ULTIMATE.start_malloc_ptr Int)) (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (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_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)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:20:09,779 INFO L273 TraceCheckUtils]: 1: Hoare triple {2999#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int) (ULTIMATE.start_malloc_ptr Int)) (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (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_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)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {3003#(and (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int) (ULTIMATE.start_malloc_ptr Int)) (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (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_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))))} is VALID [2018-12-23 14:20:09,780 INFO L273 TraceCheckUtils]: 2: Hoare triple {3003#(and (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int) (ULTIMATE.start_malloc_ptr Int)) (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (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_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))))} assume #memory_int[main_p1] >= 0; {3003#(and (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int) (ULTIMATE.start_malloc_ptr Int)) (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (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_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))))} is VALID [2018-12-23 14:20:09,781 INFO L273 TraceCheckUtils]: 3: Hoare triple {3003#(and (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int) (ULTIMATE.start_malloc_ptr Int)) (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (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_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))))} assume !(#memory_int[main_p2] <= 0); {2993#false} is VALID [2018-12-23 14:20:09,781 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:09,782 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:20:09,806 INFO L273 TraceCheckUtils]: 3: Hoare triple {3010#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {2993#false} is VALID [2018-12-23 14:20:09,807 INFO L273 TraceCheckUtils]: 2: Hoare triple {3010#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {3010#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:09,808 INFO L273 TraceCheckUtils]: 1: Hoare triple {3017#(<= (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]; {3010#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:09,810 INFO L273 TraceCheckUtils]: 0: Hoare triple {2992#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {3017#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:09,811 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:09,830 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:20:09,830 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2018-12-23 14:20:09,830 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:20:09,831 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2018-12-23 14:20:09,831 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:20:09,831 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2018-12-23 14:20:09,843 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:09,843 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2018-12-23 14:20:09,843 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2018-12-23 14:20:09,844 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2018-12-23 14:20:09,844 INFO L87 Difference]: Start difference. First operand 36 states and 135 transitions. Second operand 6 states. [2018-12-23 14:20:10,457 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:10,458 INFO L93 Difference]: Finished difference Result 53 states and 161 transitions. [2018-12-23 14:20:10,458 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-12-23 14:20:10,458 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2018-12-23 14:20:10,459 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:20:10,459 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-23 14:20:10,459 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2018-12-23 14:20:10,460 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2018-12-23 14:20:10,460 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2018-12-23 14:20:10,460 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 46 transitions. [2018-12-23 14:20:10,782 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:10,784 INFO L225 Difference]: With dead ends: 53 [2018-12-23 14:20:10,784 INFO L226 Difference]: Without dead ends: 52 [2018-12-23 14:20:10,785 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2018-12-23 14:20:10,785 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 52 states. [2018-12-23 14:20:11,185 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 52 to 37. [2018-12-23 14:20:11,185 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:20:11,185 INFO L82 GeneralOperation]: Start isEquivalent. First operand 52 states. Second operand 37 states. [2018-12-23 14:20:11,185 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 37 states. [2018-12-23 14:20:11,185 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 37 states. [2018-12-23 14:20:11,187 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:11,188 INFO L93 Difference]: Finished difference Result 52 states and 159 transitions. [2018-12-23 14:20:11,188 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 159 transitions. [2018-12-23 14:20:11,188 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:11,188 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:11,188 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 52 states. [2018-12-23 14:20:11,188 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 52 states. [2018-12-23 14:20:11,190 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:11,190 INFO L93 Difference]: Finished difference Result 52 states and 159 transitions. [2018-12-23 14:20:11,190 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 159 transitions. [2018-12-23 14:20:11,190 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:11,190 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:11,190 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:20:11,191 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:20:11,191 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2018-12-23 14:20:11,192 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 141 transitions. [2018-12-23 14:20:11,192 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 141 transitions. Word has length 4 [2018-12-23 14:20:11,192 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:20:11,192 INFO L480 AbstractCegarLoop]: Abstraction has 37 states and 141 transitions. [2018-12-23 14:20:11,192 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2018-12-23 14:20:11,193 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 141 transitions. [2018-12-23 14:20:11,193 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-23 14:20:11,193 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:20:11,193 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-23 14:20:11,193 INFO L423 AbstractCegarLoop]: === Iteration 17 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:20:11,194 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:11,194 INFO L82 PathProgramCache]: Analyzing trace with hash 937308, now seen corresponding path program 1 times [2018-12-23 14:20:11,194 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:20:11,194 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:11,195 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:20:11,195 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:11,195 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:20:11,200 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:11,463 WARN L181 SmtUtils]: Spent 101.00 ms on a formula simplification that was a NOOP. DAG size: 16 [2018-12-23 14:20:11,766 INFO L273 TraceCheckUtils]: 0: Hoare triple {3259#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {3261#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:20:11,768 INFO L273 TraceCheckUtils]: 1: Hoare triple {3261#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {3262#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:20:11,769 INFO L273 TraceCheckUtils]: 2: Hoare triple {3262#(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]; {3263#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:20:11,770 INFO L273 TraceCheckUtils]: 3: Hoare triple {3263#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {3260#false} is VALID [2018-12-23 14:20:11,770 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:11,770 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:11,770 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:20:11,771 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-23 14:20:11,771 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [23] [2018-12-23 14:20:11,774 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:20:11,774 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:20:11,783 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:20:11,784 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 56 root evaluator evaluations with a maximum evaluation depth of 2. Performed 56 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:20:11,784 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:11,784 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:20:11,784 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:11,784 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 15 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 15 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:20:11,793 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:20:11,794 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:20:11,800 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:11,808 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:11,808 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:20:11,871 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 18 treesize of output 21 [2018-12-23 14:20:11,884 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:20:11,895 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:11,896 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:11,898 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:20:11,915 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:11,916 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:11,918 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:11,919 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:20:11,938 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:11,940 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:11,940 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:11,941 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:11,942 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:20:11,950 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:11,981 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:11,998 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:12,015 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:12,029 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:12,062 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:12,063 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-23 14:20:12,118 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:12,119 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:12,120 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-23 14:20:12,185 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:12,186 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:12,187 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:12,188 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:12,189 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-23 14:20:12,265 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:12,266 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:12,268 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:12,269 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:12,270 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:12,271 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:12,272 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-23 14:20:12,276 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:12,295 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:12,314 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:12,336 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:12,426 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:12,426 INFO L202 ElimStorePlain]: Needed 10 recursive calls to eliminate 4 variables, input treesize:69, output treesize:66 [2018-12-23 14:20:12,432 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:12,433 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_80|, ULTIMATE.start_main_p4, ULTIMATE.start_malloc_ptr, |v_#valid_20|]. (let ((.cse0 (store |v_#valid_20| 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) (= (store (store (store (store (store |v_#memory_int_80| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_malloc_ptr 0) |#memory_int|) (= 0 (select .cse1 ULTIMATE.start_main_p3)) (= (select (store .cse2 ULTIMATE.start_main_p4 1) ULTIMATE.start_malloc_ptr) 0) (= 0 (select .cse2 ULTIMATE.start_main_p4)))))) [2018-12-23 14:20:12,433 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_malloc_ptr]. (and (= 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_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:20:12,535 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:12,536 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2018-12-23 14:20:12,541 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:12,585 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:12,585 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-23 14:20:14,649 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:14,649 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_81|, ULTIMATE.start_main_p3, ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_81| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_81| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_81| ULTIMATE.start_malloc_ptr)) (= (store |v_#memory_int_81| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_81| 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)) (= 0 (select |v_#memory_int_81| ULTIMATE.start_main_p2)) (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)) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)))) [2018-12-23 14:20:14,650 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 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) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr))) [2018-12-23 14:20:14,963 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:14,965 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:14,966 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:14,967 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:14,968 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:14,970 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:14,971 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:14,972 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 86 [2018-12-23 14:20:15,008 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:15,122 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:15,122 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:60, output treesize:38 [2018-12-23 14:20:17,164 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:17,165 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_82|, ULTIMATE.start_main_p2, ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_82| ULTIMATE.start_main_p2))) (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_82| ULTIMATE.start_malloc_ptr)) (= 0 .cse0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (= (store |v_#memory_int_82| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_82| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_82| ULTIMATE.start_main_p3) 1) (= (select |v_#memory_int_82| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) [2018-12-23 14:20:17,165 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr))) [2018-12-23 14:20:17,206 INFO L273 TraceCheckUtils]: 0: Hoare triple {3259#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {3267#(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) (ULTIMATE.start_malloc_ptr Int)) (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (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_p4)) (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)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:20:17,208 INFO L273 TraceCheckUtils]: 1: Hoare triple {3267#(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) (ULTIMATE.start_malloc_ptr Int)) (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (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_p4)) (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)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))) (= 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_p3 := #memory_int[main_p3] + 1]; {3271#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_malloc_ptr Int)) (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (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_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:20:17,211 INFO L273 TraceCheckUtils]: 2: Hoare triple {3271#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_malloc_ptr Int)) (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (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_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (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]; {3275#(and (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_malloc_ptr Int)) (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} is VALID [2018-12-23 14:20:17,212 INFO L273 TraceCheckUtils]: 3: Hoare triple {3275#(and (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_malloc_ptr Int)) (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} assume !(#memory_int[main_p1] >= 0); {3260#false} is VALID [2018-12-23 14:20:17,212 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:17,212 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:20:17,266 INFO L273 TraceCheckUtils]: 3: Hoare triple {3279#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {3260#false} is VALID [2018-12-23 14:20:17,268 INFO L273 TraceCheckUtils]: 2: Hoare triple {3283#(<= 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]; {3279#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:20:17,269 INFO L273 TraceCheckUtils]: 1: Hoare triple {3287#(<= 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]; {3283#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:20:17,272 INFO L273 TraceCheckUtils]: 0: Hoare triple {3259#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {3287#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:20:17,272 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:17,292 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:20:17,293 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:20:17,293 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:20:17,293 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:20:17,293 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:20:17,293 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:20:17,311 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:17,311 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:20:17,312 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:20:17,312 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:20:17,312 INFO L87 Difference]: Start difference. First operand 37 states and 141 transitions. Second operand 8 states. [2018-12-23 14:20:18,828 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:18,829 INFO L93 Difference]: Finished difference Result 69 states and 192 transitions. [2018-12-23 14:20:18,829 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-23 14:20:18,829 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2018-12-23 14:20:18,829 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:20:18,829 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:20:18,830 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 60 transitions. [2018-12-23 14:20:18,830 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:20:18,830 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 60 transitions. [2018-12-23 14:20:18,830 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 60 transitions. [2018-12-23 14:20:18,944 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:18,946 INFO L225 Difference]: With dead ends: 69 [2018-12-23 14:20:18,946 INFO L226 Difference]: Without dead ends: 68 [2018-12-23 14:20:18,948 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:20:18,948 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 68 states. [2018-12-23 14:20:19,391 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 68 to 39. [2018-12-23 14:20:19,391 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:20:19,392 INFO L82 GeneralOperation]: Start isEquivalent. First operand 68 states. Second operand 39 states. [2018-12-23 14:20:19,392 INFO L74 IsIncluded]: Start isIncluded. First operand 68 states. Second operand 39 states. [2018-12-23 14:20:19,392 INFO L87 Difference]: Start difference. First operand 68 states. Second operand 39 states. [2018-12-23 14:20:19,395 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:19,395 INFO L93 Difference]: Finished difference Result 68 states and 190 transitions. [2018-12-23 14:20:19,395 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 190 transitions. [2018-12-23 14:20:19,396 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:19,396 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:19,396 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 68 states. [2018-12-23 14:20:19,396 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 68 states. [2018-12-23 14:20:19,398 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:19,398 INFO L93 Difference]: Finished difference Result 68 states and 190 transitions. [2018-12-23 14:20:19,399 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 190 transitions. [2018-12-23 14:20:19,399 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:19,399 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:19,399 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:20:19,399 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:20:19,400 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 39 states. [2018-12-23 14:20:19,401 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 153 transitions. [2018-12-23 14:20:19,401 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 153 transitions. Word has length 4 [2018-12-23 14:20:19,401 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:20:19,401 INFO L480 AbstractCegarLoop]: Abstraction has 39 states and 153 transitions. [2018-12-23 14:20:19,402 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:20:19,402 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 153 transitions. [2018-12-23 14:20:19,402 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:20:19,402 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:20:19,402 INFO L402 BasicCegarLoop]: trace histogram [2, 1, 1, 1] [2018-12-23 14:20:19,403 INFO L423 AbstractCegarLoop]: === Iteration 18 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:20:19,403 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:19,403 INFO L82 PathProgramCache]: Analyzing trace with hash 29182896, now seen corresponding path program 2 times [2018-12-23 14:20:19,403 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:20:19,404 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:19,404 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:20:19,404 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:19,404 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:20:19,410 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:19,785 WARN L181 SmtUtils]: Spent 212.00 ms on a formula simplification. DAG size of input: 17 DAG size of output: 13 [2018-12-23 14:20:19,819 INFO L273 TraceCheckUtils]: 0: Hoare triple {3586#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {3588#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:20:19,821 INFO L273 TraceCheckUtils]: 1: Hoare triple {3588#(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]; {3588#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:20:19,821 INFO L273 TraceCheckUtils]: 2: Hoare triple {3588#(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]; {3589#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:20:19,822 INFO L273 TraceCheckUtils]: 3: Hoare triple {3589#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {3590#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:20:19,822 INFO L273 TraceCheckUtils]: 4: Hoare triple {3590#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {3587#false} is VALID [2018-12-23 14:20:19,823 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-23 14:20:19,823 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:19,823 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:20:19,823 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-23 14:20:19,824 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2018-12-23 14:20:19,824 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:19,824 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 16 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 16 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:20:19,832 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-23 14:20:19,832 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-23 14:20:19,838 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-12-23 14:20:19,838 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-23 14:20:19,847 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:19,847 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:20:19,911 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 18 treesize of output 21 [2018-12-23 14:20:19,922 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:20:19,934 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:19,936 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:19,937 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:20:19,991 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:19,993 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:19,995 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:19,996 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:20:20,040 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:20,041 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:20,042 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:20,043 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:20,044 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:20:20,055 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:20,182 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:20,204 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:20,220 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:20,236 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:20,274 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:20,275 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-23 14:20:20,339 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:20,341 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:20,342 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-23 14:20:20,415 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:20,416 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:20,417 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:20,419 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:20,419 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-23 14:20:20,511 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:20,512 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:20,513 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:20,515 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:20,516 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:20,517 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:20,518 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-23 14:20:20,526 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:20,549 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:20,592 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:20,610 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:20,652 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:20,652 INFO L202 ElimStorePlain]: Needed 10 recursive calls to eliminate 5 variables, input treesize:69, output treesize:66 [2018-12-23 14:20:20,663 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:20,663 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_85|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_malloc_ptr, |v_#valid_21|]. (let ((.cse2 (store |v_#valid_21| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse2 ULTIMATE.start_main_p2 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p3 1))) (and (= (select .cse0 ULTIMATE.start_main_p3) 0) (= 0 (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_malloc_ptr)) (= (store (store (store (store (store |v_#memory_int_85| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_malloc_ptr 0) |#memory_int|) (= 0 (select .cse1 ULTIMATE.start_main_p4)) (= 0 (select .cse2 ULTIMATE.start_main_p2)))))) [2018-12-23 14:20:20,663 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_malloc_ptr]. (and (= 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)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:20:20,754 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:20,756 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2018-12-23 14:20:20,759 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:20,801 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:20,801 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-23 14:20:20,812 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:20,812 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_86|, ULTIMATE.start_main_p3, ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_86| ULTIMATE.start_main_p4))) (and (= .cse0 0) (= (select |v_#memory_int_86| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_86| ULTIMATE.start_main_p1) 0) (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_p2)) (= (store |v_#memory_int_86| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (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)) (= (select |v_#memory_int_86| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_86| ULTIMATE.start_malloc_ptr)))) [2018-12-23 14:20:20,812 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 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)) (= 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_malloc_ptr ULTIMATE.start_main_p3)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr))) [2018-12-23 14:20:20,881 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:20,882 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:20,884 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:20,885 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:20,886 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:20,888 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:20,889 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:20,890 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 78 [2018-12-23 14:20:20,893 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:20,938 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:20,938 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:62, output treesize:50 [2018-12-23 14:20:20,970 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:20,970 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_87|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_87| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_87| ULTIMATE.start_main_p3) 0) (= 0 (select |v_#memory_int_87| ULTIMATE.start_malloc_ptr)) (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)) (= |#memory_int| (store |v_#memory_int_87| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= (+ .cse0 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_87| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_87| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)))) [2018-12-23 14:20:20,970 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 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)) (= 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_malloc_ptr ULTIMATE.start_main_p3)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr))) [2018-12-23 14:20:21,033 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:21,034 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:21,035 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:21,036 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:21,037 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:21,039 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:21,040 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:21,041 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 80 [2018-12-23 14:20:21,047 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:21,086 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:21,087 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:62, output treesize:40 [2018-12-23 14:20:21,104 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:21,104 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_88|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_88| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_88| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_88| ULTIMATE.start_malloc_ptr) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p1)) (= (+ (select |v_#memory_int_88| ULTIMATE.start_main_p4) 2) 0) (= (select |v_#memory_int_88| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= .cse0 0) (= (store |v_#memory_int_88| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)))) [2018-12-23 14:20:21,105 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_malloc_ptr, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr))) [2018-12-23 14:20:21,134 INFO L273 TraceCheckUtils]: 0: Hoare triple {3586#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {3594#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (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_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)) (= 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_malloc_ptr ULTIMATE.start_main_p3)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:20:21,136 INFO L273 TraceCheckUtils]: 1: Hoare triple {3594#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (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_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)) (= 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_malloc_ptr ULTIMATE.start_main_p3)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))) (= (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]; {3598#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (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 |#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_malloc_ptr ULTIMATE.start_main_p3)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))))} is VALID [2018-12-23 14:20:21,138 INFO L273 TraceCheckUtils]: 2: Hoare triple {3598#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (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 |#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_malloc_ptr ULTIMATE.start_main_p3)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {3602#(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_p2 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (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 |#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_malloc_ptr ULTIMATE.start_main_p3)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))))} is VALID [2018-12-23 14:20:21,141 INFO L273 TraceCheckUtils]: 3: Hoare triple {3602#(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_p2 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (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 |#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_malloc_ptr ULTIMATE.start_main_p3)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {3606#(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_p2 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p3)) (= 0 (select |#memory_int| ULTIMATE.start_malloc_ptr)))))} is VALID [2018-12-23 14:20:21,142 INFO L273 TraceCheckUtils]: 4: Hoare triple {3606#(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_p2 Int) (ULTIMATE.start_malloc_ptr Int) (ULTIMATE.start_main_p3 Int)) (and (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); {3587#false} is VALID [2018-12-23 14:20:21,143 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:21,143 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:20:21,186 INFO L273 TraceCheckUtils]: 4: Hoare triple {3590#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {3587#false} is VALID [2018-12-23 14:20:21,187 INFO L273 TraceCheckUtils]: 3: Hoare triple {3613#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {3590#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:20:21,188 INFO L273 TraceCheckUtils]: 2: Hoare triple {3617#(<= 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]; {3613#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:20:21,190 INFO L273 TraceCheckUtils]: 1: Hoare triple {3621#(<= 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]; {3617#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:20:21,192 INFO L273 TraceCheckUtils]: 0: Hoare triple {3586#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {3621#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:20:21,192 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:21,212 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:20:21,212 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 4, 4] total 10 [2018-12-23 14:20:21,212 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:20:21,212 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 5 [2018-12-23 14:20:21,212 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:20:21,212 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-12-23 14:20:21,243 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:21,243 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-12-23 14:20:21,244 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-12-23 14:20:21,244 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=78, Unknown=0, NotChecked=0, Total=132 [2018-12-23 14:20:21,244 INFO L87 Difference]: Start difference. First operand 39 states and 153 transitions. Second operand 9 states. [2018-12-23 14:20:22,634 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:22,634 INFO L93 Difference]: Finished difference Result 73 states and 219 transitions. [2018-12-23 14:20:22,634 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-23 14:20:22,634 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 5 [2018-12-23 14:20:22,634 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:20:22,634 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-12-23 14:20:22,635 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 76 transitions. [2018-12-23 14:20:22,635 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-12-23 14:20:22,635 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 76 transitions. [2018-12-23 14:20:22,635 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 76 transitions. [2018-12-23 14:20:22,759 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:22,760 INFO L225 Difference]: With dead ends: 73 [2018-12-23 14:20:22,761 INFO L226 Difference]: Without dead ends: 71 [2018-12-23 14:20:22,761 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 43 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=63, Invalid=93, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:20:22,761 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 71 states. [2018-12-23 14:20:23,082 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 71 to 42. [2018-12-23 14:20:23,082 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:20:23,082 INFO L82 GeneralOperation]: Start isEquivalent. First operand 71 states. Second operand 42 states. [2018-12-23 14:20:23,082 INFO L74 IsIncluded]: Start isIncluded. First operand 71 states. Second operand 42 states. [2018-12-23 14:20:23,083 INFO L87 Difference]: Start difference. First operand 71 states. Second operand 42 states. [2018-12-23 14:20:23,085 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:23,085 INFO L93 Difference]: Finished difference Result 71 states and 216 transitions. [2018-12-23 14:20:23,085 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 216 transitions. [2018-12-23 14:20:23,086 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:23,086 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:23,086 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 71 states. [2018-12-23 14:20:23,086 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 71 states. [2018-12-23 14:20:23,088 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:23,088 INFO L93 Difference]: Finished difference Result 71 states and 216 transitions. [2018-12-23 14:20:23,088 INFO L276 IsEmpty]: Start isEmpty. Operand 71 states and 216 transitions. [2018-12-23 14:20:23,088 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:23,089 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:23,089 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:20:23,089 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:20:23,089 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 42 states. [2018-12-23 14:20:23,090 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 171 transitions. [2018-12-23 14:20:23,090 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 171 transitions. Word has length 5 [2018-12-23 14:20:23,090 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:20:23,091 INFO L480 AbstractCegarLoop]: Abstraction has 42 states and 171 transitions. [2018-12-23 14:20:23,091 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-12-23 14:20:23,091 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 171 transitions. [2018-12-23 14:20:23,091 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:20:23,091 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:20:23,091 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:20:23,092 INFO L423 AbstractCegarLoop]: === Iteration 19 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:20:23,092 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:23,092 INFO L82 PathProgramCache]: Analyzing trace with hash 29185378, now seen corresponding path program 1 times [2018-12-23 14:20:23,092 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:20:23,093 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:23,093 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-23 14:20:23,093 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:23,093 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:20:23,099 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:23,194 INFO L273 TraceCheckUtils]: 0: Hoare triple {3939#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {3941#(and (or (and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2))) (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (or (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)))} is VALID [2018-12-23 14:20:23,196 INFO L273 TraceCheckUtils]: 1: Hoare triple {3941#(and (or (and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2))) (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (or (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {3942#(or (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 1) 0) (and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2))))} is VALID [2018-12-23 14:20:23,197 INFO L273 TraceCheckUtils]: 2: Hoare triple {3942#(or (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 1) 0) (and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {3943#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:23,198 INFO L273 TraceCheckUtils]: 3: Hoare triple {3943#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {3943#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:23,199 INFO L273 TraceCheckUtils]: 4: Hoare triple {3943#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {3940#false} is VALID [2018-12-23 14:20:23,199 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:23,199 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:23,199 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:20:23,200 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:20:23,200 INFO L207 CegarAbsIntRunner]: [0], [18], [20], [24], [25] [2018-12-23 14:20:23,201 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:20:23,201 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:20:23,210 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:20:23,211 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 58 root evaluator evaluations with a maximum evaluation depth of 2. Performed 58 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:20:23,211 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:23,211 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:20:23,212 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:23,212 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 17 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 17 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:20:23,223 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:20:23,223 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:20:23,227 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:23,230 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:23,230 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:20:23,319 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:20:23,354 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:20:23,363 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:23,365 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:23,366 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 33 [2018-12-23 14:20:23,379 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:23,381 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:23,382 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:23,383 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 25 treesize of output 47 [2018-12-23 14:20:23,401 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:23,404 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:23,405 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:23,407 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:23,408 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 62 [2018-12-23 14:20:23,415 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:23,446 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:23,462 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:23,475 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:23,487 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:23,510 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 39 [2018-12-23 14:20:23,539 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:23,541 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:23,542 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 49 [2018-12-23 14:20:23,597 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:23,598 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:23,601 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:23,602 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:23,603 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 57 [2018-12-23 14:20:23,670 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:23,671 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:23,672 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:23,673 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:23,675 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:23,677 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:23,678 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 37 [2018-12-23 14:20:23,681 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:23,698 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:23,714 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:23,733 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:23,770 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:23,770 INFO L202 ElimStorePlain]: Needed 10 recursive calls to eliminate 4 variables, input treesize:61, output treesize:62 [2018-12-23 14:20:23,776 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:23,777 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_92|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, |v_#valid_22|]. (let ((.cse0 (store (store |v_#valid_22| 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) (= |#memory_int| (store (store (store (store (store |v_#memory_int_92| 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)) (= 0 (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= 0 (select .cse1 ULTIMATE.start_main_p4))))) [2018-12-23 14:20:23,777 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p1]. (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)) (= (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)) [2018-12-23 14:20:23,872 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:23,874 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 62 [2018-12-23 14:20:23,878 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:23,912 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:23,913 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:72, output treesize:46 [2018-12-23 14:20:26,106 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:26,106 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_93|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_93| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_93| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_93| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_93| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_93| 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)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (store |v_#memory_int_93| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= .cse0 0))) [2018-12-23 14:20:26,106 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p1, 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)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (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)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:20:26,196 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:26,197 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:26,198 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:26,199 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:26,202 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:26,203 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:26,204 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:26,205 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 12 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 76 [2018-12-23 14:20:26,210 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:26,245 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:26,245 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:58, output treesize:36 [2018-12-23 14:20:28,407 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:28,408 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_94|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_94| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_94| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_94| ULTIMATE.start_main_p3) 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_94| ULTIMATE.start_main_p4) 1)) (= .cse0 0) (= (store |v_#memory_int_94| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_94| ULTIMATE.start_main_p2) 0))) [2018-12-23 14:20:28,408 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:20:28,480 INFO L273 TraceCheckUtils]: 0: Hoare triple {3939#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {3947#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p1 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_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_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (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))} is VALID [2018-12-23 14:20:28,483 INFO L273 TraceCheckUtils]: 1: Hoare triple {3947#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p1 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_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_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (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))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {3951#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 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_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)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:20:28,486 INFO L273 TraceCheckUtils]: 2: Hoare triple {3951#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 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_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)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {3955#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (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))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:20:28,487 INFO L273 TraceCheckUtils]: 3: Hoare triple {3955#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (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))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {3955#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (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))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:20:28,493 INFO L273 TraceCheckUtils]: 4: Hoare triple {3955#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (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))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {3940#false} is VALID [2018-12-23 14:20:28,494 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:28,494 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:20:28,529 INFO L273 TraceCheckUtils]: 4: Hoare triple {3943#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {3940#false} is VALID [2018-12-23 14:20:28,530 INFO L273 TraceCheckUtils]: 3: Hoare triple {3943#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {3943#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:28,531 INFO L273 TraceCheckUtils]: 2: Hoare triple {3968#(<= (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]; {3943#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:28,532 INFO L273 TraceCheckUtils]: 1: Hoare triple {3972#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {3968#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:28,534 INFO L273 TraceCheckUtils]: 0: Hoare triple {3939#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {3972#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:28,535 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:28,555 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:20:28,555 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2018-12-23 14:20:28,555 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:20:28,556 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-23 14:20:28,556 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:20:28,556 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:20:28,570 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:28,571 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:20:28,571 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:20:28,571 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=36, Invalid=54, Unknown=0, NotChecked=0, Total=90 [2018-12-23 14:20:28,571 INFO L87 Difference]: Start difference. First operand 42 states and 171 transitions. Second operand 8 states. [2018-12-23 14:20:30,805 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:30,805 INFO L93 Difference]: Finished difference Result 84 states and 258 transitions. [2018-12-23 14:20:30,805 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-23 14:20:30,805 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-23 14:20:30,806 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:20:30,806 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:20:30,806 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 79 transitions. [2018-12-23 14:20:30,806 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:20:30,807 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 79 transitions. [2018-12-23 14:20:30,807 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 79 transitions. [2018-12-23 14:20:30,937 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:30,938 INFO L225 Difference]: With dead ends: 84 [2018-12-23 14:20:30,939 INFO L226 Difference]: Without dead ends: 78 [2018-12-23 14:20:30,939 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 23 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=52, Invalid=80, Unknown=0, NotChecked=0, Total=132 [2018-12-23 14:20:30,939 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 78 states. [2018-12-23 14:20:31,575 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 78 to 48. [2018-12-23 14:20:31,575 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:20:31,575 INFO L82 GeneralOperation]: Start isEquivalent. First operand 78 states. Second operand 48 states. [2018-12-23 14:20:31,576 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand 48 states. [2018-12-23 14:20:31,576 INFO L87 Difference]: Start difference. First operand 78 states. Second operand 48 states. [2018-12-23 14:20:31,578 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:31,578 INFO L93 Difference]: Finished difference Result 78 states and 249 transitions. [2018-12-23 14:20:31,578 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 249 transitions. [2018-12-23 14:20:31,579 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:31,579 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:31,579 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 78 states. [2018-12-23 14:20:31,579 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 78 states. [2018-12-23 14:20:31,580 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:31,580 INFO L93 Difference]: Finished difference Result 78 states and 249 transitions. [2018-12-23 14:20:31,580 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 249 transitions. [2018-12-23 14:20:31,581 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:31,581 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:31,581 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:20:31,581 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:20:31,581 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 48 states. [2018-12-23 14:20:31,583 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 218 transitions. [2018-12-23 14:20:31,583 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 218 transitions. Word has length 5 [2018-12-23 14:20:31,583 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:20:31,583 INFO L480 AbstractCegarLoop]: Abstraction has 48 states and 218 transitions. [2018-12-23 14:20:31,583 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:20:31,583 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 218 transitions. [2018-12-23 14:20:31,584 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:20:31,584 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:20:31,584 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:20:31,584 INFO L423 AbstractCegarLoop]: === Iteration 20 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:20:31,584 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:31,585 INFO L82 PathProgramCache]: Analyzing trace with hash 29184942, now seen corresponding path program 1 times [2018-12-23 14:20:31,585 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:20:31,585 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:31,585 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:20:31,586 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:31,586 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:20:31,592 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:31,814 INFO L273 TraceCheckUtils]: 0: Hoare triple {4336#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {4338#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (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_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:20:31,815 INFO L273 TraceCheckUtils]: 1: Hoare triple {4338#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (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_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 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]; {4339#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (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_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:20:31,817 INFO L273 TraceCheckUtils]: 2: Hoare triple {4339#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (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_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]; {4340#(and (= (select |#memory_int| ULTIMATE.start_main_p2) 0) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:20:31,818 INFO L273 TraceCheckUtils]: 3: Hoare triple {4340#(and (= (select |#memory_int| ULTIMATE.start_main_p2) 0) (= 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]; {4341#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2018-12-23 14:20:31,819 INFO L273 TraceCheckUtils]: 4: Hoare triple {4341#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {4337#false} is VALID [2018-12-23 14:20:31,819 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:31,819 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:31,819 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:20:31,820 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:20:31,820 INFO L207 CegarAbsIntRunner]: [0], [10], [18], [20], [23] [2018-12-23 14:20:31,822 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:20:31,822 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:20:31,832 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:20:31,832 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 58 root evaluator evaluations with a maximum evaluation depth of 2. Performed 58 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-23 14:20:31,832 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:31,832 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:20:31,833 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:31,833 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 18 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 18 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:20:31,842 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:20:31,842 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:20:31,862 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:31,879 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:31,880 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:20:31,940 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 18 treesize of output 21 [2018-12-23 14:20:31,951 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:20:32,066 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:32,088 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:32,089 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:20:32,132 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:32,133 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:32,135 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:32,136 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:20:32,161 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:20:32,167 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:32,193 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:32,211 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:32,226 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:32,241 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:32,269 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:32,270 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 40 [2018-12-23 14:20:32,318 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:32,319 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:32,320 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 27 treesize of output 42 [2018-12-23 14:20:32,374 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:32,375 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:32,377 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:32,378 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:32,378 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 25 [2018-12-23 14:20:32,382 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:32,395 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:32,406 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:32,436 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 2 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:32,436 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 3 variables, input treesize:52, output treesize:50 [2018-12-23 14:20:32,446 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:32,446 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_97|, ULTIMATE.start_main_p3, |v_#valid_23|]. (let ((.cse0 (store |v_#valid_23| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p2 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p2)) (= 0 (select .cse1 ULTIMATE.start_main_p3)) (= (select (store .cse1 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4) 0) (= (store (store (store (store (store |v_#memory_int_97| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|)))) [2018-12-23 14:20:32,446 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (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_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) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:20:32,566 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:32,577 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 7 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 36 treesize of output 54 [2018-12-23 14:20:32,588 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 2 xjuncts. [2018-12-23 14:20:32,743 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 2 xjuncts. [2018-12-23 14:20:32,743 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:60, output treesize:74 [2018-12-23 14:20:32,761 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:32,761 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_98|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_98| ULTIMATE.start_main_p4))) (and (= 0 (select |v_#memory_int_98| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_98| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_98| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_98| ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_98| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= 0 .cse0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) [2018-12-23 14:20:32,762 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, v_prenex_26]. (let ((.cse3 (select |#memory_int| ULTIMATE.start_main_p5)) (.cse0 (= (select |#memory_int| ULTIMATE.start_main_p1) 0)) (.cse1 (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1))) (.cse2 (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (or (and (not (= v_prenex_26 ULTIMATE.start_main_p2)) .cse0 .cse1 .cse2 (not (= v_prenex_26 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_26) 0) (= 0 (+ .cse3 1))) (and (= 0 .cse3) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) .cse0 .cse1 (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) .cse2 (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)))) [2018-12-23 14:20:33,249 WARN L181 SmtUtils]: Spent 234.00 ms on a formula simplification that was a NOOP. DAG size: 42 [2018-12-23 14:20:33,310 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:33,311 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:33,313 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:33,314 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:33,321 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:33,322 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:33,323 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:33,347 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 6 case distinctions, treesize of input 50 treesize of output 80 [2018-12-23 14:20:33,359 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 8 xjuncts. [2018-12-23 14:20:33,543 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:33,544 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:33,545 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:33,546 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:33,547 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:20:33,548 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 45 treesize of output 51 [2018-12-23 14:20:33,601 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:33,754 INFO L267 ElimStorePlain]: Start of recursive call 1: 5 dim-0 vars, 2 dim-1 vars, End of recursive call: 11 dim-0 vars, and 5 xjuncts. [2018-12-23 14:20:33,755 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 7 variables, input treesize:96, output treesize:167 [2018-12-23 14:20:35,845 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:35,845 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_99|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, v_prenex_27, v_prenex_28, v_prenex_26]. (let ((.cse0 (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))) (or (let ((.cse1 (select |v_#memory_int_99| ULTIMATE.start_main_p5))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_99| ULTIMATE.start_main_p2) 0) .cse0 (= 0 (select |v_#memory_int_99| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_99| ULTIMATE.start_main_p5 (+ .cse1 1)) |#memory_int|) (= 0 .cse1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_99| ULTIMATE.start_main_p3) 0) (= 0 (+ (select |v_#memory_int_99| ULTIMATE.start_main_p4) 1)))) (let ((.cse2 (+ (select v_prenex_27 v_prenex_28) 1))) (and (= 0 (select v_prenex_27 ULTIMATE.start_main_p1)) (= 0 (select v_prenex_27 v_prenex_26)) .cse0 (not (= v_prenex_26 ULTIMATE.start_main_p1)) (= (select v_prenex_27 ULTIMATE.start_main_p2) 0) (not (= v_prenex_26 ULTIMATE.start_main_p2)) (= (store v_prenex_27 v_prenex_28 .cse2) |#memory_int|) (= .cse2 0))))) [2018-12-23 14:20:35,845 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_30, v_prenex_29, ULTIMATE.start_main_p5, v_prenex_28, v_prenex_26, v_prenex_34, v_prenex_33, v_prenex_31, v_prenex_32, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse3 (select |#memory_int| ULTIMATE.start_main_p1)) (.cse4 (select |#memory_int| ULTIMATE.start_main_p2))) (let ((.cse1 (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1))) (.cse2 (= 0 .cse4)) (.cse0 (= .cse3 0))) (or (and (not (= v_prenex_28 v_prenex_26)) (= (select |#memory_int| v_prenex_28) 0) (not (= v_prenex_28 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| v_prenex_26)) .cse0 (not (= v_prenex_26 ULTIMATE.start_main_p1)) .cse1 (not (= v_prenex_28 ULTIMATE.start_main_p1)) .cse2 (not (= v_prenex_26 ULTIMATE.start_main_p2))) (and (= .cse3 1) (not (= v_prenex_34 ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| v_prenex_33) 1) 0) .cse2 (= (select |#memory_int| v_prenex_34) 0)) (and (not (= v_prenex_30 ULTIMATE.start_main_p2)) .cse0 (= (+ (select |#memory_int| v_prenex_29) 1) 0) .cse1 (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) .cse2 (not (= v_prenex_30 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_30) 0)) (and .cse0 (= (+ (select |#memory_int| v_prenex_31) 1) 0) .cse1 (= (select |#memory_int| v_prenex_32) 1) .cse2) (and (= 1 .cse4) .cse0 (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))))) [2018-12-23 14:20:36,018 WARN L181 SmtUtils]: Spent 112.00 ms on a formula simplification. DAG size of input: 88 DAG size of output: 69 [2018-12-23 14:20:36,108 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,109 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,110 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,112 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,113 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,114 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,115 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,116 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,117 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,118 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:20:36,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, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 86 [2018-12-23 14:20:36,123 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:36,228 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,229 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 55 treesize of output 53 [2018-12-23 14:20:36,231 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:36,311 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,312 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,313 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,315 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,316 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,317 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,318 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,319 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,320 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,321 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:20:36,322 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 82 [2018-12-23 14:20:36,325 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:36,403 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,404 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,406 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,407 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,408 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,409 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,410 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,411 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,412 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,413 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:36,414 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:20:36,415 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 73 [2018-12-23 14:20:36,418 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:36,496 INFO L267 ElimStorePlain]: Start of recursive call 1: 12 dim-0 vars, 4 dim-1 vars, End of recursive call: 12 dim-0 vars, and 4 xjuncts. [2018-12-23 14:20:36,496 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 16 variables, input treesize:167, output treesize:121 [2018-12-23 14:20:38,648 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:38,649 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_prenex_40, v_prenex_39, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, v_prenex_35, v_prenex_36, v_prenex_33, v_prenex_34, |v_#memory_int_100|, ULTIMATE.start_main_p2, v_prenex_32, v_prenex_31, v_prenex_37, v_prenex_38, v_prenex_28, v_prenex_26]. (or (let ((.cse0 (select v_prenex_40 v_prenex_39))) (and (= .cse0 1) (= 0 (+ (select v_prenex_40 ULTIMATE.start_main_p4) 1)) (= (select v_prenex_40 ULTIMATE.start_main_p3) 0) (= (select v_prenex_40 ULTIMATE.start_main_p1) 0) (= |#memory_int| (store v_prenex_40 v_prenex_39 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) (let ((.cse1 (select v_prenex_35 v_prenex_36))) (and (= 0 (+ (select v_prenex_35 v_prenex_33) 1)) (= (select v_prenex_35 ULTIMATE.start_main_p1) 1) (= |#memory_int| (store v_prenex_35 v_prenex_36 (+ .cse1 (- 1)))) (not (= v_prenex_34 v_prenex_36)) (= .cse1 0) (= (select v_prenex_35 v_prenex_34) 0))) (let ((.cse2 (select |v_#memory_int_100| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_100| v_prenex_32) 1) (= .cse2 0) (= |#memory_int| (store |v_#memory_int_100| ULTIMATE.start_main_p2 (+ .cse2 (- 1)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (+ (select |v_#memory_int_100| v_prenex_31) 1) 0) (= (select |v_#memory_int_100| ULTIMATE.start_main_p1) 0))) (let ((.cse3 (select v_prenex_37 v_prenex_38))) (and (= (select v_prenex_37 v_prenex_28) 0) (not (= v_prenex_28 v_prenex_26)) (not (= v_prenex_38 ULTIMATE.start_main_p1)) (not (= v_prenex_28 v_prenex_38)) (= (select v_prenex_37 ULTIMATE.start_main_p1) 0) (not (= v_prenex_26 ULTIMATE.start_main_p1)) (= (select v_prenex_37 v_prenex_26) 0) (not (= v_prenex_28 ULTIMATE.start_main_p1)) (= .cse3 0) (= |#memory_int| (store v_prenex_37 v_prenex_38 (+ .cse3 (- 1)))) (not (= v_prenex_26 v_prenex_38))))) [2018-12-23 14:20:38,649 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_36, v_prenex_33, v_prenex_34, v_prenex_31, ULTIMATE.start_main_p2, v_prenex_32, ULTIMATE.start_main_p4, v_prenex_39, ULTIMATE.start_main_p3, v_prenex_28, v_prenex_26, v_prenex_38]. (let ((.cse0 (select |#memory_int| ULTIMATE.start_main_p1))) (let ((.cse1 (= .cse0 0))) (or (and (not (= v_prenex_36 v_prenex_33)) (= .cse0 1) (= (- 1) (select |#memory_int| v_prenex_36)) (= 0 (select |#memory_int| v_prenex_34)) (= (- 1) (select |#memory_int| v_prenex_33))) (and (not (= v_prenex_31 ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| v_prenex_31) 1) 0) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= 1 (select |#memory_int| v_prenex_32)) .cse1) (and .cse1 (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= v_prenex_39 ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= 0 (select |#memory_int| v_prenex_39)) (not (= v_prenex_39 ULTIMATE.start_main_p1))) (and (not (= v_prenex_28 v_prenex_26)) (= (select |#memory_int| v_prenex_28) 0) (= 0 (select |#memory_int| v_prenex_26)) .cse1 (not (= v_prenex_26 ULTIMATE.start_main_p1)) (not (= v_prenex_28 ULTIMATE.start_main_p1)) (= (- 1) (select |#memory_int| v_prenex_38)))))) [2018-12-23 14:20:38,757 INFO L273 TraceCheckUtils]: 0: Hoare triple {4336#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {4345#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((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_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (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)))} is VALID [2018-12-23 14:20:38,760 INFO L273 TraceCheckUtils]: 1: Hoare triple {4345#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((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_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (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)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4349#(or (and (= (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 ((v_prenex_26 Int)) (and (not (= v_prenex_26 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_26) 0) (not (= v_prenex_26 ULTIMATE.start_main_p2)))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1))) (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))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2))))} is VALID [2018-12-23 14:20:38,766 INFO L273 TraceCheckUtils]: 2: Hoare triple {4349#(or (and (= (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 ((v_prenex_26 Int)) (and (not (= v_prenex_26 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_26) 0) (not (= v_prenex_26 ULTIMATE.start_main_p2)))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1))) (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))) (= 0 (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_p5 := #memory_int[main_p5] + 1]; {4353#(or (and (= (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 ((v_prenex_31 Int)) (= (+ (select |#memory_int| v_prenex_31) 1) 0)) (exists ((v_prenex_32 Int)) (= (select |#memory_int| v_prenex_32) 1))) (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))) (= 1 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))) (and (exists ((v_prenex_26 Int) (v_prenex_28 Int)) (and (not (= v_prenex_28 v_prenex_26)) (= (select |#memory_int| v_prenex_28) 0) (not (= v_prenex_28 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| v_prenex_26)) (not (= v_prenex_26 ULTIMATE.start_main_p1)) (not (= v_prenex_28 ULTIMATE.start_main_p1)) (not (= v_prenex_26 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))) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((v_prenex_34 Int)) (and (= (select |#memory_int| v_prenex_34) 0) (not (= v_prenex_34 ULTIMATE.start_main_p2)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((v_prenex_33 Int)) (= (+ (select |#memory_int| v_prenex_33) 1) 0))))} is VALID [2018-12-23 14:20:38,772 INFO L273 TraceCheckUtils]: 3: Hoare triple {4353#(or (and (= (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 ((v_prenex_31 Int)) (= (+ (select |#memory_int| v_prenex_31) 1) 0)) (exists ((v_prenex_32 Int)) (= (select |#memory_int| v_prenex_32) 1))) (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))) (= 1 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))) (and (exists ((v_prenex_26 Int) (v_prenex_28 Int)) (and (not (= v_prenex_28 v_prenex_26)) (= (select |#memory_int| v_prenex_28) 0) (not (= v_prenex_28 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| v_prenex_26)) (not (= v_prenex_26 ULTIMATE.start_main_p1)) (not (= v_prenex_28 ULTIMATE.start_main_p1)) (not (= v_prenex_26 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))) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((v_prenex_34 Int)) (and (= (select |#memory_int| v_prenex_34) 0) (not (= v_prenex_34 ULTIMATE.start_main_p2)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((v_prenex_33 Int)) (= (+ (select |#memory_int| v_prenex_33) 1) 0))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {4357#(or (and (exists ((v_prenex_31 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= v_prenex_31 ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| v_prenex_31) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_32 Int)) (= 1 (select |#memory_int| v_prenex_32)))) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((v_prenex_33 Int) (v_prenex_36 Int)) (and (not (= v_prenex_36 v_prenex_33)) (= 0 (+ (select |#memory_int| v_prenex_33) 1)) (= 0 (+ (select |#memory_int| v_prenex_36) 1)))) (exists ((v_prenex_34 Int)) (= 0 (select |#memory_int| v_prenex_34)))) (and (exists ((v_prenex_38 Int)) (= 0 (+ (select |#memory_int| v_prenex_38) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_26 Int) (v_prenex_28 Int)) (and (not (= v_prenex_28 v_prenex_26)) (= (select |#memory_int| v_prenex_28) 0) (= 0 (select |#memory_int| v_prenex_26)) (not (= v_prenex_26 ULTIMATE.start_main_p1)) (not (= v_prenex_28 ULTIMATE.start_main_p1))))))} is VALID [2018-12-23 14:20:38,773 INFO L273 TraceCheckUtils]: 4: Hoare triple {4357#(or (and (exists ((v_prenex_31 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= v_prenex_31 ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| v_prenex_31) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_32 Int)) (= 1 (select |#memory_int| v_prenex_32)))) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((v_prenex_33 Int) (v_prenex_36 Int)) (and (not (= v_prenex_36 v_prenex_33)) (= 0 (+ (select |#memory_int| v_prenex_33) 1)) (= 0 (+ (select |#memory_int| v_prenex_36) 1)))) (exists ((v_prenex_34 Int)) (= 0 (select |#memory_int| v_prenex_34)))) (and (exists ((v_prenex_38 Int)) (= 0 (+ (select |#memory_int| v_prenex_38) 1))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_26 Int) (v_prenex_28 Int)) (and (not (= v_prenex_28 v_prenex_26)) (= (select |#memory_int| v_prenex_28) 0) (= 0 (select |#memory_int| v_prenex_26)) (not (= v_prenex_26 ULTIMATE.start_main_p1)) (not (= v_prenex_28 ULTIMATE.start_main_p1))))))} assume !(#memory_int[main_p1] >= 0); {4337#false} is VALID [2018-12-23 14:20:38,774 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:38,774 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:20:38,854 INFO L273 TraceCheckUtils]: 4: Hoare triple {4361#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {4337#false} is VALID [2018-12-23 14:20:38,855 INFO L273 TraceCheckUtils]: 3: Hoare triple {4365#(<= 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]; {4361#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:20:38,856 INFO L273 TraceCheckUtils]: 2: Hoare triple {4369#(<= 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]; {4365#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:20:38,857 INFO L273 TraceCheckUtils]: 1: Hoare triple {4373#(<= 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]; {4369#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:20:38,858 INFO L273 TraceCheckUtils]: 0: Hoare triple {4336#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {4373#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:20:38,859 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:38,877 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:20:38,878 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-23 14:20:38,878 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:20:38,878 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:20:38,878 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:20:38,878 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-23 14:20:38,899 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:38,900 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-23 14:20:38,900 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-23 14:20:38,900 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=62, Invalid=120, Unknown=0, NotChecked=0, Total=182 [2018-12-23 14:20:38,900 INFO L87 Difference]: Start difference. First operand 48 states and 218 transitions. Second operand 10 states. [2018-12-23 14:20:41,028 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:41,028 INFO L93 Difference]: Finished difference Result 109 states and 322 transitions. [2018-12-23 14:20:41,028 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-12-23 14:20:41,028 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:20:41,029 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:20:41,029 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:20:41,030 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 103 transitions. [2018-12-23 14:20:41,030 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:20:41,031 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 103 transitions. [2018-12-23 14:20:41,031 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 103 transitions. [2018-12-23 14:20:41,223 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:41,226 INFO L225 Difference]: With dead ends: 109 [2018-12-23 14:20:41,226 INFO L226 Difference]: Without dead ends: 107 [2018-12-23 14:20:41,227 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 60 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=115, Invalid=227, Unknown=0, NotChecked=0, Total=342 [2018-12-23 14:20:41,227 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 107 states. [2018-12-23 14:20:41,711 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 107 to 51. [2018-12-23 14:20:41,711 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:20:41,711 INFO L82 GeneralOperation]: Start isEquivalent. First operand 107 states. Second operand 51 states. [2018-12-23 14:20:41,711 INFO L74 IsIncluded]: Start isIncluded. First operand 107 states. Second operand 51 states. [2018-12-23 14:20:41,712 INFO L87 Difference]: Start difference. First operand 107 states. Second operand 51 states. [2018-12-23 14:20:41,715 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:41,715 INFO L93 Difference]: Finished difference Result 107 states and 317 transitions. [2018-12-23 14:20:41,715 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 317 transitions. [2018-12-23 14:20:41,716 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:41,716 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:41,716 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand 107 states. [2018-12-23 14:20:41,716 INFO L87 Difference]: Start difference. First operand 51 states. Second operand 107 states. [2018-12-23 14:20:41,718 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:41,719 INFO L93 Difference]: Finished difference Result 107 states and 317 transitions. [2018-12-23 14:20:41,719 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 317 transitions. [2018-12-23 14:20:41,719 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:41,719 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:41,719 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:20:41,719 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:20:41,719 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 51 states. [2018-12-23 14:20:41,720 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 51 states to 51 states and 236 transitions. [2018-12-23 14:20:41,720 INFO L78 Accepts]: Start accepts. Automaton has 51 states and 236 transitions. Word has length 5 [2018-12-23 14:20:41,721 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:20:41,721 INFO L480 AbstractCegarLoop]: Abstraction has 51 states and 236 transitions. [2018-12-23 14:20:41,721 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-23 14:20:41,721 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 236 transitions. [2018-12-23 14:20:41,721 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:20:41,721 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:20:41,721 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:20:41,721 INFO L423 AbstractCegarLoop]: === Iteration 21 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:20:41,722 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:41,722 INFO L82 PathProgramCache]: Analyzing trace with hash 29171924, now seen corresponding path program 1 times [2018-12-23 14:20:41,722 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:20:41,722 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:41,722 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:20:41,723 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:41,723 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:20:41,727 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:41,960 INFO L273 TraceCheckUtils]: 0: Hoare triple {4840#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {4842#(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)))} is VALID [2018-12-23 14:20:41,961 INFO L273 TraceCheckUtils]: 1: Hoare triple {4842#(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)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4843#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:20:41,962 INFO L273 TraceCheckUtils]: 2: Hoare triple {4843#(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]; {4843#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:20:41,963 INFO L273 TraceCheckUtils]: 3: Hoare triple {4843#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {4844#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:41,963 INFO L273 TraceCheckUtils]: 4: Hoare triple {4844#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {4841#false} is VALID [2018-12-23 14:20:41,964 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-23 14:20:41,964 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:41,964 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:20:41,964 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:20:41,964 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [24], [25] [2018-12-23 14:20:41,966 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:20:41,966 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:20:41,979 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:20:41,979 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 58 root evaluator evaluations with a maximum evaluation depth of 2. Performed 58 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:20:41,979 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:41,980 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:20:41,980 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:41,980 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 19 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 19 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:20:41,988 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:20:41,989 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:20:41,993 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:41,998 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:41,998 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:20:42,037 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 18 treesize of output 21 [2018-12-23 14:20:42,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, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:20:42,052 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:42,053 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:42,054 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:20:42,065 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:42,066 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:42,068 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:42,069 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:20:42,090 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:20:42,094 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:42,115 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:42,132 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:42,146 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:42,158 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:42,182 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:42,183 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 31 treesize of output 40 [2018-12-23 14:20:42,226 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:42,227 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:42,228 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 27 treesize of output 42 [2018-12-23 14:20:42,277 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:42,278 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:42,279 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:42,280 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:42,281 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 25 [2018-12-23 14:20:42,284 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:42,294 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:42,305 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:42,331 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:42,332 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 4 variables, input treesize:52, output treesize:50 [2018-12-23 14:20:42,353 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:42,353 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_104|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, |v_#valid_24|]. (let ((.cse0 (store |v_#valid_24| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p2 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p2)) (= |#memory_int| (store (store (store (store (store |v_#memory_int_104| 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)) (= 0 (select (store .cse1 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4)) (= (select .cse1 ULTIMATE.start_main_p3) 0)))) [2018-12-23 14:20:42,354 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (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_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) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:20:42,491 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:42,492 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 45 [2018-12-23 14:20:42,496 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:42,519 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:42,520 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:55, output treesize:33 [2018-12-23 14:20:44,545 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:44,546 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_105|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_105| ULTIMATE.start_main_p4))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_105| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_105| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 .cse0) (= (select |v_#memory_int_105| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_105| ULTIMATE.start_main_p2) 0))) [2018-12-23 14:20:44,546 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (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)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:20:44,603 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:44,604 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:44,605 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:44,606 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:44,607 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:44,608 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:44,609 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 59 [2018-12-23 14:20:44,613 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:44,636 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:44,636 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:45, output treesize:27 [2018-12-23 14:20:44,643 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:44,644 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_106|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_106| ULTIMATE.start_main_p1))) (and (= (store |v_#memory_int_106| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_106| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_106| ULTIMATE.start_main_p3)) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (+ (select |v_#memory_int_106| ULTIMATE.start_main_p4) 1) 0))) [2018-12-23 14:20:44,644 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:20:44,683 INFO L273 TraceCheckUtils]: 0: Hoare triple {4840#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {4848#(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_p2)) (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) (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)))} is VALID [2018-12-23 14:20:44,685 INFO L273 TraceCheckUtils]: 1: Hoare triple {4848#(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_p2)) (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) (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)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4852#(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))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:20:44,687 INFO L273 TraceCheckUtils]: 2: Hoare triple {4852#(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))) (= (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_p1 := #memory_int[main_p1] + 1]; {4856#(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_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-23 14:20:44,688 INFO L273 TraceCheckUtils]: 3: Hoare triple {4856#(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_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} assume #memory_int[main_p1] >= 0; {4856#(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_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-23 14:20:44,689 INFO L273 TraceCheckUtils]: 4: Hoare triple {4856#(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_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} assume !(#memory_int[main_p2] <= 0); {4841#false} is VALID [2018-12-23 14:20:44,689 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:44,690 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:20:44,734 INFO L273 TraceCheckUtils]: 4: Hoare triple {4863#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {4841#false} is VALID [2018-12-23 14:20:44,734 INFO L273 TraceCheckUtils]: 3: Hoare triple {4863#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {4863#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:44,735 INFO L273 TraceCheckUtils]: 2: Hoare triple {4870#(<= (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]; {4863#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:44,737 INFO L273 TraceCheckUtils]: 1: Hoare triple {4874#(<= (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]; {4870#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:44,739 INFO L273 TraceCheckUtils]: 0: Hoare triple {4840#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {4874#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:44,739 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:44,760 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:20:44,760 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:20:44,760 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:20:44,760 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-23 14:20:44,760 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:20:44,760 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:20:44,774 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:44,774 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:20:44,775 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:20:44,775 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=70, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:20:44,775 INFO L87 Difference]: Start difference. First operand 51 states and 236 transitions. Second operand 8 states. [2018-12-23 14:20:46,301 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:46,301 INFO L93 Difference]: Finished difference Result 77 states and 292 transitions. [2018-12-23 14:20:46,301 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-23 14:20:46,301 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-23 14:20:46,301 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:20:46,302 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:20:46,302 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 52 transitions. [2018-12-23 14:20:46,302 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:20:46,303 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 52 transitions. [2018-12-23 14:20:46,303 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 52 transitions. [2018-12-23 14:20:46,372 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:46,374 INFO L225 Difference]: With dead ends: 77 [2018-12-23 14:20:46,374 INFO L226 Difference]: Without dead ends: 76 [2018-12-23 14:20:46,374 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 2 SyntacticMatches, 1 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=69, Invalid=113, Unknown=0, NotChecked=0, Total=182 [2018-12-23 14:20:46,375 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2018-12-23 14:20:47,121 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 55. [2018-12-23 14:20:47,121 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:20:47,121 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand 55 states. [2018-12-23 14:20:47,122 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 55 states. [2018-12-23 14:20:47,122 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 55 states. [2018-12-23 14:20:47,124 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:47,125 INFO L93 Difference]: Finished difference Result 76 states and 290 transitions. [2018-12-23 14:20:47,125 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 290 transitions. [2018-12-23 14:20:47,125 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:47,125 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:47,125 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 76 states. [2018-12-23 14:20:47,125 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 76 states. [2018-12-23 14:20:47,127 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:47,127 INFO L93 Difference]: Finished difference Result 76 states and 290 transitions. [2018-12-23 14:20:47,127 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 290 transitions. [2018-12-23 14:20:47,128 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:47,128 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:47,128 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:20:47,128 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:20:47,128 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 55 states. [2018-12-23 14:20:47,130 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 261 transitions. [2018-12-23 14:20:47,130 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 261 transitions. Word has length 5 [2018-12-23 14:20:47,130 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:20:47,130 INFO L480 AbstractCegarLoop]: Abstraction has 55 states and 261 transitions. [2018-12-23 14:20:47,130 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:20:47,130 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 261 transitions. [2018-12-23 14:20:47,130 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:20:47,131 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:20:47,131 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:20:47,131 INFO L423 AbstractCegarLoop]: === Iteration 22 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:20:47,131 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:47,131 INFO L82 PathProgramCache]: Analyzing trace with hash 29175642, now seen corresponding path program 2 times [2018-12-23 14:20:47,131 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:20:47,132 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:47,132 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:20:47,132 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:47,132 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:20:47,139 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:47,334 INFO L273 TraceCheckUtils]: 0: Hoare triple {5251#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {5253#(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_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:20:47,336 INFO L273 TraceCheckUtils]: 1: Hoare triple {5253#(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_p5)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p4 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]; {5254#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:20:47,338 INFO L273 TraceCheckUtils]: 2: Hoare triple {5254#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5)) (= 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]; {5255#(and (or (= 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))) (= (select |#memory_int| ULTIMATE.start_main_p5) 0))} is VALID [2018-12-23 14:20:47,340 INFO L273 TraceCheckUtils]: 3: Hoare triple {5255#(and (or (= 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))) (= (select |#memory_int| ULTIMATE.start_main_p5) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {5256#(or (<= 1 (select |#memory_int| ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-23 14:20:47,341 INFO L273 TraceCheckUtils]: 4: Hoare triple {5256#(or (<= 1 (select |#memory_int| ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {5252#false} is VALID [2018-12-23 14:20:47,342 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:47,342 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:47,342 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:20:47,342 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-23 14:20:47,343 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2018-12-23 14:20:47,343 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:47,343 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 20 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 20 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:20:47,352 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-23 14:20:47,352 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-23 14:20:47,358 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-12-23 14:20:47,358 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-23 14:20:47,365 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:47,366 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:20:47,433 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:47,434 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-23 14:20:47,498 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:47,499 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:47,500 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-23 14:20:47,607 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:47,609 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:47,611 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:47,613 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:47,614 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-23 14:20:47,690 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:47,692 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:47,693 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:47,694 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:47,695 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:47,696 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:47,697 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-23 14:20:47,699 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:47,717 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:47,733 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:47,750 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:47,775 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 4 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:20:47,823 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 21 treesize of output 27 [2018-12-23 14:20:47,837 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 9 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:20:47,849 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 25 treesize of output 51 [2018-12-23 14:20:47,864 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:20:47,867 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:47,892 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:47,907 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:47,919 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:47,929 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:47,962 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 2 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:47,962 INFO L202 ElimStorePlain]: Needed 10 recursive calls to eliminate 3 variables, input treesize:69, output treesize:66 [2018-12-23 14:20:47,970 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:47,971 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_109|, ULTIMATE.start_main_p3, |v_#valid_25|]. (let ((.cse1 (store |v_#valid_25| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse1 ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse2 ULTIMATE.start_main_p3 1))) (and (= (store (store (store (store (store |v_#memory_int_109| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (= (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0) (= 0 (select .cse0 ULTIMATE.start_main_p4)) (= (select .cse1 ULTIMATE.start_main_p2) 0) (= 0 (select .cse2 ULTIMATE.start_main_p3)))))) [2018-12-23 14:20:47,971 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [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)) (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)) [2018-12-23 14:20:48,054 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:48,055 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2018-12-23 14:20:48,058 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:48,090 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:48,091 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:76, output treesize:50 [2018-12-23 14:20:50,211 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:50,212 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_110|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_110| ULTIMATE.start_main_p4))) (and (= .cse0 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_110| ULTIMATE.start_main_p2)) (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_110| 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_110| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= (select |v_#memory_int_110| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_110| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-23 14:20:50,212 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:20:50,289 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:50,291 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:50,292 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:50,293 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:50,294 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:50,295 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:20:50,296 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 81 [2018-12-23 14:20:50,299 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:50,334 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:50,335 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:62, output treesize:42 [2018-12-23 14:20:50,343 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:50,344 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_111|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_111| 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)) (= (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)) (= |#memory_int| (store |v_#memory_int_111| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_111| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 .cse0) (= (+ (select |v_#memory_int_111| ULTIMATE.start_main_p4) 1) 0))) [2018-12-23 14:20:50,344 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:20:50,506 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:50,507 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:50,508 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:50,509 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:50,510 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:50,511 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:50,512 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:50,513 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:50,514 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:50,515 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 82 [2018-12-23 14:20:50,519 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:50,551 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:50,551 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:56, output treesize:38 [2018-12-23 14:20:52,576 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:52,576 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_112|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_112| ULTIMATE.start_main_p5))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (+ (select |v_#memory_int_112| ULTIMATE.start_main_p2) 1) 0) (= 0 (select |v_#memory_int_112| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 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_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_112| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-23 14:20:52,576 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (and (= (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_p4)) (= 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)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-23 14:20:52,606 INFO L273 TraceCheckUtils]: 0: Hoare triple {5251#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {5260#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:20:52,608 INFO L273 TraceCheckUtils]: 1: Hoare triple {5260#(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]; {5264#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:20:52,610 INFO L273 TraceCheckUtils]: 2: Hoare triple {5264#(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_p2 := #memory_int[main_p2] - 1]; {5268#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 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_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)))) (= 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))} is VALID [2018-12-23 14:20:52,613 INFO L273 TraceCheckUtils]: 3: Hoare triple {5268#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 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_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)))) (= 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))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {5272#(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_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)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2018-12-23 14:20:52,614 INFO L273 TraceCheckUtils]: 4: Hoare triple {5272#(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_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)) (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); {5252#false} is VALID [2018-12-23 14:20:52,614 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:52,614 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:20:52,698 INFO L273 TraceCheckUtils]: 4: Hoare triple {5256#(or (<= 1 (select |#memory_int| ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {5252#false} is VALID [2018-12-23 14:20:52,699 INFO L273 TraceCheckUtils]: 3: Hoare triple {5279#(or (= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 0) (<= 1 (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]; {5256#(or (<= 1 (select |#memory_int| ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-23 14:20:52,701 INFO L273 TraceCheckUtils]: 2: Hoare triple {5283#(or (= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 0) (<= 1 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {5279#(or (= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 0) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:20:52,704 INFO L273 TraceCheckUtils]: 1: Hoare triple {5287#(or (= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 0) (<= 1 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5283#(or (= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 0) (<= 1 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:20:52,706 INFO L273 TraceCheckUtils]: 0: Hoare triple {5251#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {5287#(or (= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 0) (<= 1 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:20:52,707 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:52,727 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:20:52,727 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2018-12-23 14:20:52,727 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:20:52,727 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:20:52,728 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:20:52,728 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-23 14:20:52,745 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:52,745 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-23 14:20:52,745 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-23 14:20:52,746 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=56, Invalid=100, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:20:52,746 INFO L87 Difference]: Start difference. First operand 55 states and 261 transitions. Second operand 10 states. [2018-12-23 14:20:54,694 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:54,694 INFO L93 Difference]: Finished difference Result 88 states and 340 transitions. [2018-12-23 14:20:54,694 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-23 14:20:54,694 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:20:54,695 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:20:54,695 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:20:54,695 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 69 transitions. [2018-12-23 14:20:54,695 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:20:54,696 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 69 transitions. [2018-12-23 14:20:54,696 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 69 transitions. [2018-12-23 14:20:54,802 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:54,804 INFO L225 Difference]: With dead ends: 88 [2018-12-23 14:20:54,805 INFO L226 Difference]: Without dead ends: 83 [2018-12-23 14:20:54,805 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 0 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 57 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=76, Invalid=134, Unknown=0, NotChecked=0, Total=210 [2018-12-23 14:20:54,805 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 83 states. [2018-12-23 14:20:55,452 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 83 to 61. [2018-12-23 14:20:55,452 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:20:55,452 INFO L82 GeneralOperation]: Start isEquivalent. First operand 83 states. Second operand 61 states. [2018-12-23 14:20:55,452 INFO L74 IsIncluded]: Start isIncluded. First operand 83 states. Second operand 61 states. [2018-12-23 14:20:55,453 INFO L87 Difference]: Start difference. First operand 83 states. Second operand 61 states. [2018-12-23 14:20:55,455 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:55,455 INFO L93 Difference]: Finished difference Result 83 states and 331 transitions. [2018-12-23 14:20:55,456 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 331 transitions. [2018-12-23 14:20:55,456 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:55,456 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:55,456 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand 83 states. [2018-12-23 14:20:55,456 INFO L87 Difference]: Start difference. First operand 61 states. Second operand 83 states. [2018-12-23 14:20:55,458 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:55,458 INFO L93 Difference]: Finished difference Result 83 states and 331 transitions. [2018-12-23 14:20:55,458 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 331 transitions. [2018-12-23 14:20:55,458 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:55,458 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:55,459 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:20:55,459 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:20:55,459 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 61 states. [2018-12-23 14:20:55,460 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 273 transitions. [2018-12-23 14:20:55,460 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 273 transitions. Word has length 5 [2018-12-23 14:20:55,460 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:20:55,461 INFO L480 AbstractCegarLoop]: Abstraction has 61 states and 273 transitions. [2018-12-23 14:20:55,461 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-23 14:20:55,461 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 273 transitions. [2018-12-23 14:20:55,461 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:20:55,461 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:20:55,461 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:20:55,462 INFO L423 AbstractCegarLoop]: === Iteration 23 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:20:55,462 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:55,462 INFO L82 PathProgramCache]: Analyzing trace with hash 29179612, now seen corresponding path program 1 times [2018-12-23 14:20:55,462 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:20:55,463 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:55,463 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-23 14:20:55,463 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:55,463 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:20:55,468 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:55,723 WARN L181 SmtUtils]: Spent 107.00 ms on a formula simplification that was a NOOP. DAG size: 16 [2018-12-23 14:20:55,860 INFO L273 TraceCheckUtils]: 0: Hoare triple {5701#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {5703#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:20:55,862 INFO L273 TraceCheckUtils]: 1: Hoare triple {5703#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5704#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:20:55,863 INFO L273 TraceCheckUtils]: 2: Hoare triple {5704#(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]; {5705#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:55,863 INFO L273 TraceCheckUtils]: 3: Hoare triple {5705#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {5705#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:55,864 INFO L273 TraceCheckUtils]: 4: Hoare triple {5705#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {5702#false} is VALID [2018-12-23 14:20:55,864 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:55,865 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:55,865 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:20:55,865 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:20:55,865 INFO L207 CegarAbsIntRunner]: [0], [14], [18], [24], [25] [2018-12-23 14:20:55,867 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:20:55,867 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:20:55,885 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:20:55,885 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 58 root evaluator evaluations with a maximum evaluation depth of 2. Performed 58 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:20:55,885 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:55,886 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:20:55,886 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:55,886 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 21 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 21 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:20:55,894 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:20:55,894 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:20:55,899 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:55,904 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:55,905 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:20:55,918 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:20:55,932 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:20:55,941 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:55,942 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:55,943 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 23 treesize of output 33 [2018-12-23 14:20:55,976 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:55,977 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:55,978 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:55,979 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 25 treesize of output 47 [2018-12-23 14:20:56,000 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 5 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 46 [2018-12-23 14:20:56,004 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:56,025 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:56,040 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:56,053 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:56,065 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:56,084 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 26 treesize of output 25 [2018-12-23 14:20:56,105 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:56,108 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:56,109 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 22 treesize of output 38 [2018-12-23 14:20:56,265 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:56,266 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:56,269 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:56,270 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:56,270 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 21 [2018-12-23 14:20:56,273 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:56,283 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:56,293 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:20:56,315 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:56,315 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 4 variables, input treesize:44, output treesize:46 [2018-12-23 14:20:56,322 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:56,322 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_116|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5, |v_#valid_26|]. (let ((.cse0 (store (store |v_#valid_26| ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2 1))) (and (= (store (store (store (store (store |v_#memory_int_116| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (= (select .cse0 ULTIMATE.start_main_p3) 0) (= (select (store .cse0 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4) 0))) [2018-12-23 14:20:56,322 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| 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)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:20:56,388 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:56,389 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 28 [2018-12-23 14:20:56,392 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:56,404 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:56,404 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:38, output treesize:20 [2018-12-23 14:20:56,451 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:56,451 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_117|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_117| ULTIMATE.start_main_p4))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_117| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_117| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (store |v_#memory_int_117| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|))) [2018-12-23 14:20:56,452 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:20:56,488 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:56,490 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:56,491 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:56,492 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:56,493 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:56,494 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 50 [2018-12-23 14:20:56,497 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:20:56,512 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:20:56,513 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:18 [2018-12-23 14:20:56,941 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:20:56,941 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_118|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_118| ULTIMATE.start_main_p3))) (and (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_118| ULTIMATE.start_main_p3 (+ .cse0 1))) (= 0 (select |v_#memory_int_118| ULTIMATE.start_main_p2)) (= 0 (+ (select |v_#memory_int_118| ULTIMATE.start_main_p4) 1)))) [2018-12-23 14:20:56,941 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2))) [2018-12-23 14:20:56,979 INFO L273 TraceCheckUtils]: 0: Hoare triple {5701#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {5709#(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)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:20:56,980 INFO L273 TraceCheckUtils]: 1: Hoare triple {5709#(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)) (= 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]; {5713#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (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))} is VALID [2018-12-23 14:20:56,983 INFO L273 TraceCheckUtils]: 2: Hoare triple {5713#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (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))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {5717#(and (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:20:56,983 INFO L273 TraceCheckUtils]: 3: Hoare triple {5717#(and (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)))} assume #memory_int[main_p1] >= 0; {5717#(and (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:20:56,984 INFO L273 TraceCheckUtils]: 4: Hoare triple {5717#(and (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)))} assume !(#memory_int[main_p2] <= 0); {5702#false} is VALID [2018-12-23 14:20:56,984 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:56,984 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:20:57,028 INFO L273 TraceCheckUtils]: 4: Hoare triple {5724#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {5702#false} is VALID [2018-12-23 14:20:57,031 INFO L273 TraceCheckUtils]: 3: Hoare triple {5724#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {5724#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:57,036 INFO L273 TraceCheckUtils]: 2: Hoare triple {5731#(<= (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]; {5724#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:57,038 INFO L273 TraceCheckUtils]: 1: Hoare triple {5735#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5731#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:57,040 INFO L273 TraceCheckUtils]: 0: Hoare triple {5701#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {5735#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:20:57,040 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:57,058 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:20:57,059 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:20:57,059 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:20:57,059 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-23 14:20:57,059 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:20:57,059 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:20:57,071 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:57,071 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:20:57,072 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:20:57,072 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:20:57,072 INFO L87 Difference]: Start difference. First operand 61 states and 273 transitions. Second operand 8 states. [2018-12-23 14:20:58,697 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:58,697 INFO L93 Difference]: Finished difference Result 81 states and 298 transitions. [2018-12-23 14:20:58,698 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-23 14:20:58,698 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-23 14:20:58,698 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:20:58,698 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:20:58,698 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 51 transitions. [2018-12-23 14:20:58,699 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:20:58,699 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 51 transitions. [2018-12-23 14:20:58,699 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 51 transitions. [2018-12-23 14:20:58,755 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:20:58,757 INFO L225 Difference]: With dead ends: 81 [2018-12-23 14:20:58,757 INFO L226 Difference]: Without dead ends: 80 [2018-12-23 14:20:58,758 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:20:58,758 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 80 states. [2018-12-23 14:20:59,599 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 80 to 61. [2018-12-23 14:20:59,600 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:20:59,600 INFO L82 GeneralOperation]: Start isEquivalent. First operand 80 states. Second operand 61 states. [2018-12-23 14:20:59,600 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand 61 states. [2018-12-23 14:20:59,600 INFO L87 Difference]: Start difference. First operand 80 states. Second operand 61 states. [2018-12-23 14:20:59,602 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:59,603 INFO L93 Difference]: Finished difference Result 80 states and 296 transitions. [2018-12-23 14:20:59,603 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 296 transitions. [2018-12-23 14:20:59,603 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:59,603 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:59,603 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand 80 states. [2018-12-23 14:20:59,604 INFO L87 Difference]: Start difference. First operand 61 states. Second operand 80 states. [2018-12-23 14:20:59,606 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:20:59,606 INFO L93 Difference]: Finished difference Result 80 states and 296 transitions. [2018-12-23 14:20:59,606 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 296 transitions. [2018-12-23 14:20:59,606 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:20:59,606 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:20:59,607 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:20:59,607 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:20:59,607 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 61 states. [2018-12-23 14:20:59,608 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 273 transitions. [2018-12-23 14:20:59,608 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 273 transitions. Word has length 5 [2018-12-23 14:20:59,609 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:20:59,609 INFO L480 AbstractCegarLoop]: Abstraction has 61 states and 273 transitions. [2018-12-23 14:20:59,609 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:20:59,609 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 273 transitions. [2018-12-23 14:20:59,609 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:20:59,609 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:20:59,609 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:20:59,610 INFO L423 AbstractCegarLoop]: === Iteration 24 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:20:59,610 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:59,610 INFO L82 PathProgramCache]: Analyzing trace with hash 29179176, now seen corresponding path program 1 times [2018-12-23 14:20:59,610 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:20:59,611 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:59,611 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:20:59,611 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:20:59,611 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:20:59,617 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:59,896 INFO L273 TraceCheckUtils]: 0: Hoare triple {6129#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {6131#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:20:59,898 INFO L273 TraceCheckUtils]: 1: Hoare triple {6131#(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]; {6132#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (or (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (and (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-23 14:20:59,899 INFO L273 TraceCheckUtils]: 2: Hoare triple {6132#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (or (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (and (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {6133#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (or (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))))} is VALID [2018-12-23 14:20:59,900 INFO L273 TraceCheckUtils]: 3: Hoare triple {6133#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (or (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {6134#(or (<= 1 (select |#memory_int| ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-23 14:20:59,901 INFO L273 TraceCheckUtils]: 4: Hoare triple {6134#(or (<= 1 (select |#memory_int| ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {6130#false} is VALID [2018-12-23 14:20:59,901 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:20:59,902 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:59,902 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:20:59,902 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:20:59,902 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [18], [23] [2018-12-23 14:20:59,904 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:20:59,904 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:20:59,918 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:20:59,918 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 58 root evaluator evaluations with a maximum evaluation depth of 2. Performed 58 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-23 14:20:59,918 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:20:59,918 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:20:59,918 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:20:59,919 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 22 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 22 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:20:59,928 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:20:59,928 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:20:59,932 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:59,938 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:20:59,938 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:20:59,987 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:20:59,988 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 31 treesize of output 40 [2018-12-23 14:21:00,036 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:00,037 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:00,038 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 42 [2018-12-23 14:21:00,093 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:00,095 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:00,096 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:00,097 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:00,098 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 25 [2018-12-23 14:21:00,102 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:00,114 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:00,167 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:00,188 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:21:00,194 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 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 27 [2018-12-23 14:21:00,203 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 6 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:21:00,213 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:21:00,230 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:21:00,233 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:00,251 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:00,265 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:00,276 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:00,287 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:00,308 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 2 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:00,308 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 3 variables, input treesize:52, output treesize:50 [2018-12-23 14:21:00,314 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:00,314 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_121|, ULTIMATE.start_main_p5, |v_#valid_27|]. (let ((.cse1 (store |v_#valid_27| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p2 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p3)) (= 0 (select .cse1 ULTIMATE.start_main_p2)) (= (store (store (store (store (store |v_#memory_int_121| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (= 0 (select (store .cse0 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4))))) [2018-12-23 14:21:00,314 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (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_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) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:21:00,394 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:00,395 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 45 [2018-12-23 14:21:00,398 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:00,444 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:00,444 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:55, output treesize:33 [2018-12-23 14:21:00,492 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:00,492 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_122|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_122| ULTIMATE.start_main_p4))) (and (= (store |v_#memory_int_122| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_122| 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_p2 ULTIMATE.start_main_p4)) (= 0 .cse0) (= (select |v_#memory_int_122| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_122| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) [2018-12-23 14:21:00,493 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (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)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:21:00,542 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:00,543 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:00,544 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:00,546 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:00,547 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:00,547 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:00,548 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 67 [2018-12-23 14:21:00,551 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:00,574 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:00,575 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:45, output treesize:27 [2018-12-23 14:21:00,584 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:00,585 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_123|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_123| ULTIMATE.start_main_p3))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (+ (select |v_#memory_int_123| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_123| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (store |v_#memory_int_123| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_123| ULTIMATE.start_main_p1) 0) (= 0 .cse0))) [2018-12-23 14:21:00,585 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2))) [2018-12-23 14:21:00,624 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:00,626 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:00,627 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:00,628 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:00,629 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:00,630 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:00,631 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:00,631 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:21:00,632 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:00,633 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 76 [2018-12-23 14:21:00,636 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:00,660 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:00,661 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:37, output treesize:25 [2018-12-23 14:21:00,765 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:00,766 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_124|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_124| ULTIMATE.start_main_p2))) (and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 1 (select |v_#memory_int_124| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_124| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (= 0 (+ (select |v_#memory_int_124| ULTIMATE.start_main_p4) 1)) (= 0 (select |v_#memory_int_124| ULTIMATE.start_main_p1)))) [2018-12-23 14:21:00,766 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, 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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) [2018-12-23 14:21:00,791 INFO L273 TraceCheckUtils]: 0: Hoare triple {6129#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {6138#(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)))} is VALID [2018-12-23 14:21:00,792 INFO L273 TraceCheckUtils]: 1: Hoare triple {6138#(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)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {6142#(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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:21:00,794 INFO L273 TraceCheckUtils]: 2: Hoare triple {6142#(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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {6146#(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)) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:21:00,796 INFO L273 TraceCheckUtils]: 3: Hoare triple {6146#(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)) (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]; {6150#(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)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)))} is VALID [2018-12-23 14:21:00,797 INFO L273 TraceCheckUtils]: 4: Hoare triple {6150#(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)))) (= (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); {6130#false} is VALID [2018-12-23 14:21:00,797 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:00,797 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:21:00,879 INFO L273 TraceCheckUtils]: 4: Hoare triple {6134#(or (<= 1 (select |#memory_int| ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {6130#false} is VALID [2018-12-23 14:21:00,880 INFO L273 TraceCheckUtils]: 3: Hoare triple {6157#(or (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {6134#(or (<= 1 (select |#memory_int| ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2018-12-23 14:21:00,882 INFO L273 TraceCheckUtils]: 2: Hoare triple {6161#(or (= (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) 0) (<= 1 (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]; {6157#(or (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:21:00,885 INFO L273 TraceCheckUtils]: 1: Hoare triple {6165#(or (<= 1 (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)) (= (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) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {6161#(or (= (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) 0) (<= 1 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:21:00,886 INFO L273 TraceCheckUtils]: 0: Hoare triple {6129#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {6165#(or (<= 1 (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)) (= (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) 0))} is VALID [2018-12-23 14:21:00,887 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:00,906 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:21:00,906 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2018-12-23 14:21:00,906 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:21:00,906 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:21:00,906 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:21:00,906 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-23 14:21:00,920 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:21:00,920 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-23 14:21:00,920 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-23 14:21:00,921 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=102, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:21:00,921 INFO L87 Difference]: Start difference. First operand 61 states and 273 transitions. Second operand 10 states. [2018-12-23 14:21:02,699 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:02,699 INFO L93 Difference]: Finished difference Result 113 states and 415 transitions. [2018-12-23 14:21:02,699 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-23 14:21:02,699 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:21:02,699 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:21:02,699 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:21:02,700 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 79 transitions. [2018-12-23 14:21:02,700 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:21:02,700 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 79 transitions. [2018-12-23 14:21:02,700 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 79 transitions. [2018-12-23 14:21:02,812 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:21:02,815 INFO L225 Difference]: With dead ends: 113 [2018-12-23 14:21:02,815 INFO L226 Difference]: Without dead ends: 112 [2018-12-23 14:21:02,815 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 0 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 55 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=84, Invalid=156, Unknown=0, NotChecked=0, Total=240 [2018-12-23 14:21:02,815 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 112 states. [2018-12-23 14:21:03,540 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 112 to 60. [2018-12-23 14:21:03,541 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:21:03,541 INFO L82 GeneralOperation]: Start isEquivalent. First operand 112 states. Second operand 60 states. [2018-12-23 14:21:03,541 INFO L74 IsIncluded]: Start isIncluded. First operand 112 states. Second operand 60 states. [2018-12-23 14:21:03,541 INFO L87 Difference]: Start difference. First operand 112 states. Second operand 60 states. [2018-12-23 14:21:03,544 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:03,544 INFO L93 Difference]: Finished difference Result 112 states and 410 transitions. [2018-12-23 14:21:03,544 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 410 transitions. [2018-12-23 14:21:03,544 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:21:03,545 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:21:03,545 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand 112 states. [2018-12-23 14:21:03,545 INFO L87 Difference]: Start difference. First operand 60 states. Second operand 112 states. [2018-12-23 14:21:03,547 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:03,547 INFO L93 Difference]: Finished difference Result 112 states and 410 transitions. [2018-12-23 14:21:03,547 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 410 transitions. [2018-12-23 14:21:03,547 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:21:03,547 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:21:03,548 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:21:03,548 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:21:03,548 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 60 states. [2018-12-23 14:21:03,549 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 267 transitions. [2018-12-23 14:21:03,549 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 267 transitions. Word has length 5 [2018-12-23 14:21:03,549 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:21:03,550 INFO L480 AbstractCegarLoop]: Abstraction has 60 states and 267 transitions. [2018-12-23 14:21:03,550 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-23 14:21:03,550 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 267 transitions. [2018-12-23 14:21:03,550 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:21:03,550 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:21:03,550 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:21:03,550 INFO L423 AbstractCegarLoop]: === Iteration 25 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:21:03,551 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:21:03,551 INFO L82 PathProgramCache]: Analyzing trace with hash 29242478, now seen corresponding path program 1 times [2018-12-23 14:21:03,551 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:21:03,551 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:21:03,551 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:21:03,551 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:21:03,551 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:21:03,555 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:03,679 INFO L273 TraceCheckUtils]: 0: Hoare triple {6672#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {6674#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:21:03,681 INFO L273 TraceCheckUtils]: 1: Hoare triple {6674#(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]; {6675#(and (or (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))) (or (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4))))} is VALID [2018-12-23 14:21:03,682 INFO L273 TraceCheckUtils]: 2: Hoare triple {6675#(and (or (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))) (or (= (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]; {6676#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:21:03,683 INFO L273 TraceCheckUtils]: 3: Hoare triple {6676#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {6677#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:21:03,683 INFO L273 TraceCheckUtils]: 4: Hoare triple {6677#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {6673#false} is VALID [2018-12-23 14:21:03,684 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:03,684 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:21:03,684 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:21:03,684 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:21:03,684 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [20], [23] [2018-12-23 14:21:03,686 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:21:03,686 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:21:03,701 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:21:03,701 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 58 root evaluator evaluations with a maximum evaluation depth of 2. Performed 58 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-23 14:21:03,701 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:21:03,702 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:21:03,702 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:21:03,702 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 23 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 23 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:21:03,710 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:21:03,711 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:21:03,721 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:03,724 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:03,724 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:21:03,827 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 18 treesize of output 21 [2018-12-23 14:21:03,835 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:21:03,844 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:03,845 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:03,846 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:21:03,859 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:03,860 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:03,861 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:03,862 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:21:03,884 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:21:03,888 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:03,909 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:03,926 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:03,939 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:03,951 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:03,976 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:03,976 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 40 [2018-12-23 14:21:04,034 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:04,035 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:04,036 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 42 [2018-12-23 14:21:04,086 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:04,087 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:04,089 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:04,090 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:04,090 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 25 [2018-12-23 14:21:04,093 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:04,104 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:04,115 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:04,146 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:04,146 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 4 variables, input treesize:52, output treesize:50 [2018-12-23 14:21:04,155 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:04,155 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_128|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, |v_#valid_28|]. (let ((.cse1 (store |v_#valid_28| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p2 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p3)) (= (store (store (store (store (store |v_#memory_int_128| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (= 0 (select (store .cse0 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4)) (= 0 (select .cse1 ULTIMATE.start_main_p2))))) [2018-12-23 14:21:04,155 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (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_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) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:21:04,241 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:04,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, 7 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 8 case distinctions, treesize of input 36 treesize of output 66 [2018-12-23 14:21:04,300 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 16 xjuncts. [2018-12-23 14:21:04,494 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 11 dim-0 vars, and 5 xjuncts. [2018-12-23 14:21:04,495 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:60, output treesize:199 [2018-12-23 14:21:07,308 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:07,308 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_129|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_129| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_129| ULTIMATE.start_main_p1) 0) (= |#memory_int| (store |v_#memory_int_129| ULTIMATE.start_main_p5 (+ .cse0 1))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_129| ULTIMATE.start_main_p2) 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)) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_129| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_129| ULTIMATE.start_main_p4) 0))) [2018-12-23 14:21:07,309 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, v_prenex_48, v_prenex_47, v_prenex_46, v_prenex_45, v_prenex_44, v_prenex_43, v_prenex_41, v_prenex_42]. (let ((.cse4 (select |#memory_int| ULTIMATE.start_main_p4)) (.cse3 (select |#memory_int| ULTIMATE.start_main_p1))) (let ((.cse0 (= .cse3 0)) (.cse2 (= .cse4 0)) (.cse1 (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (or (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) .cse0 (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) .cse1 .cse2) (and (not (= v_prenex_48 ULTIMATE.start_main_p4)) (= .cse3 1) (not (= v_prenex_48 v_prenex_47)) (not (= v_prenex_47 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| v_prenex_47)) (not (= v_prenex_48 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_48) 0) .cse1 .cse2) (and (not (= v_prenex_46 v_prenex_45)) .cse0 (= .cse4 1) (not (= v_prenex_45 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| v_prenex_45)) (not (= v_prenex_46 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_46) 0) .cse1) (and (not (= v_prenex_44 ULTIMATE.start_main_p4)) (= 1 (select |#memory_int| v_prenex_43)) .cse0 (not (= v_prenex_44 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_44) 0) .cse2 .cse1) (and .cse0 (not (= v_prenex_41 ULTIMATE.start_main_p1)) (not (= v_prenex_41 ULTIMATE.start_main_p4)) (= (select |#memory_int| v_prenex_42) 1) (= 0 (select |#memory_int| v_prenex_41)) (not (= v_prenex_42 ULTIMATE.start_main_p1)) .cse2 .cse1)))) [2018-12-23 14:21:07,498 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:07,499 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:07,500 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:07,501 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:07,502 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:07,503 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 47 treesize of output 65 [2018-12-23 14:21:07,506 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:07,586 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:07,588 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:07,589 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:07,590 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:07,591 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:07,592 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:21:07,593 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 51 [2018-12-23 14:21:07,597 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:07,664 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:07,665 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:07,666 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:07,667 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:07,668 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:07,669 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:07,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, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 73 [2018-12-23 14:21:07,674 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:07,744 INFO L267 ElimStorePlain]: Start of recursive call 1: 9 dim-0 vars, 3 dim-1 vars, End of recursive call: 9 dim-0 vars, and 3 xjuncts. [2018-12-23 14:21:07,745 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 12 variables, input treesize:138, output treesize:96 [2018-12-23 14:21:09,848 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:09,848 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_prenex_50, v_prenex_49, v_prenex_41, v_prenex_42, v_prenex_52, v_prenex_51, v_prenex_48, v_prenex_47, |v_#memory_int_130|, ULTIMATE.start_main_p4, v_prenex_46, v_prenex_45]. (or (let ((.cse0 (select v_prenex_50 v_prenex_49))) (and (= 0 .cse0) (not (= v_prenex_41 ULTIMATE.start_main_p1)) (not (= v_prenex_41 v_prenex_49)) (not (= ULTIMATE.start_main_p1 v_prenex_49)) (= 1 (select v_prenex_50 v_prenex_42)) (= 0 (select v_prenex_50 v_prenex_41)) (= 0 (select v_prenex_50 ULTIMATE.start_main_p1)) (not (= v_prenex_42 ULTIMATE.start_main_p1)) (= |#memory_int| (store v_prenex_50 v_prenex_49 (+ .cse0 (- 1)))))) (let ((.cse1 (select v_prenex_52 v_prenex_51))) (and (= (select v_prenex_52 v_prenex_48) 0) (not (= v_prenex_48 v_prenex_51)) (not (= v_prenex_48 ULTIMATE.start_main_p1)) (= 0 .cse1) (not (= v_prenex_47 v_prenex_51)) (not (= v_prenex_48 v_prenex_47)) (= 0 (select v_prenex_52 v_prenex_47)) (= 1 (select v_prenex_52 ULTIMATE.start_main_p1)) (= |#memory_int| (store v_prenex_52 v_prenex_51 (+ .cse1 (- 1)))))) (let ((.cse2 (select |v_#memory_int_130| ULTIMATE.start_main_p4))) (and (= |#memory_int| (store |v_#memory_int_130| ULTIMATE.start_main_p4 (+ .cse2 (- 1)))) (= 0 (select |v_#memory_int_130| ULTIMATE.start_main_p1)) (not (= v_prenex_46 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_130| v_prenex_45)) (not (= v_prenex_45 ULTIMATE.start_main_p1)) (= 1 .cse2) (not (= v_prenex_46 v_prenex_45)) (= 0 (select |v_#memory_int_130| v_prenex_46))))) [2018-12-23 14:21:09,848 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_42, v_prenex_41, v_prenex_49, v_prenex_45, ULTIMATE.start_main_p4, v_prenex_46, v_prenex_51, v_prenex_48, v_prenex_47]. (let ((.cse1 (select |#memory_int| ULTIMATE.start_main_p1))) (let ((.cse0 (= .cse1 0))) (or (and (= (select |#memory_int| v_prenex_42) 1) (not (= v_prenex_41 ULTIMATE.start_main_p1)) .cse0 (= 0 (select |#memory_int| v_prenex_41)) (= (- 1) (select |#memory_int| v_prenex_49))) (and (not (= v_prenex_45 ULTIMATE.start_main_p4)) (not (= v_prenex_46 ULTIMATE.start_main_p4)) .cse0 (= 0 (select |#memory_int| v_prenex_45)) (= (select |#memory_int| v_prenex_46) 0) (not (= v_prenex_46 ULTIMATE.start_main_p1)) (not (= v_prenex_45 ULTIMATE.start_main_p1)) (not (= v_prenex_46 v_prenex_45)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) (and (= (select |#memory_int| v_prenex_51) (- 1)) (= .cse1 1) (= 0 (select |#memory_int| v_prenex_48)) (not (= v_prenex_48 v_prenex_47)) (= 0 (select |#memory_int| v_prenex_47)))))) [2018-12-23 14:21:09,989 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:09,990 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:09,991 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:09,992 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:09,993 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:09,994 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:09,995 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:09,996 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:09,997 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:09,998 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:09,999 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:21:10,000 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 83 [2018-12-23 14:21:10,003 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:10,085 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,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, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 55 treesize of output 51 [2018-12-23 14:21:10,090 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:10,147 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,148 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,149 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,150 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,151 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,152 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,153 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,154 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,155 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,156 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,157 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:10,158 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 12 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 79 [2018-12-23 14:21:10,161 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:10,259 INFO L267 ElimStorePlain]: Start of recursive call 1: 9 dim-0 vars, 3 dim-1 vars, End of recursive call: 9 dim-0 vars, and 3 xjuncts. [2018-12-23 14:21:10,260 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 12 variables, input treesize:130, output treesize:88 [2018-12-23 14:21:12,513 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:12,514 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_prenex_54, v_prenex_51, v_prenex_48, v_prenex_47, v_prenex_53, v_prenex_45, ULTIMATE.start_main_p4, v_prenex_46, |v_#memory_int_131|, v_prenex_41, v_prenex_49, v_prenex_42]. (or (let ((.cse0 (select v_prenex_54 ULTIMATE.start_main_p1))) (and (= .cse0 1) (= (store v_prenex_54 ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 (+ (select v_prenex_54 v_prenex_51) 1)) (not (= v_prenex_48 v_prenex_47)) (= 0 (select v_prenex_54 v_prenex_47)) (= 0 (select v_prenex_54 v_prenex_48)))) (let ((.cse1 (select v_prenex_53 ULTIMATE.start_main_p1))) (and (= 0 (select v_prenex_53 v_prenex_45)) (not (= v_prenex_45 ULTIMATE.start_main_p4)) (= (store v_prenex_53 ULTIMATE.start_main_p1 (+ .cse1 1)) |#memory_int|) (not (= v_prenex_46 ULTIMATE.start_main_p4)) (= 0 (select v_prenex_53 v_prenex_46)) (not (= v_prenex_46 ULTIMATE.start_main_p1)) (not (= v_prenex_45 ULTIMATE.start_main_p1)) (= .cse1 0) (not (= v_prenex_46 v_prenex_45)) (= 0 (select v_prenex_53 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (let ((.cse2 (select |v_#memory_int_131| ULTIMATE.start_main_p1))) (and (not (= v_prenex_41 ULTIMATE.start_main_p1)) (= (+ (select |v_#memory_int_131| v_prenex_49) 1) 0) (= (select |v_#memory_int_131| v_prenex_42) 1) (= (store |v_#memory_int_131| ULTIMATE.start_main_p1 (+ .cse2 1)) |#memory_int|) (= (select |v_#memory_int_131| v_prenex_41) 0) (= .cse2 0)))) [2018-12-23 14:21:12,514 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_42, v_prenex_41, v_prenex_49, v_prenex_48, v_prenex_47, v_prenex_51, v_prenex_45, ULTIMATE.start_main_p4, v_prenex_46]. (let ((.cse1 (select |#memory_int| ULTIMATE.start_main_p1))) (let ((.cse0 (= .cse1 1))) (or (and (= (select |#memory_int| v_prenex_42) 1) .cse0 (= 0 (select |#memory_int| v_prenex_41)) (not (= v_prenex_42 ULTIMATE.start_main_p1)) (= (+ (select |#memory_int| v_prenex_49) 1) 0)) (and (= 0 (select |#memory_int| v_prenex_48)) (not (= v_prenex_48 v_prenex_47)) (= .cse1 2) (= (+ (select |#memory_int| v_prenex_51) 1) 0) (= 0 (select |#memory_int| v_prenex_47))) (and (not (= v_prenex_45 ULTIMATE.start_main_p4)) .cse0 (not (= v_prenex_46 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| v_prenex_45)) (= (select |#memory_int| v_prenex_46) 0) (not (= v_prenex_46 v_prenex_45)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))) [2018-12-23 14:21:12,808 WARN L181 SmtUtils]: Spent 233.00 ms on a formula simplification that was a NOOP. DAG size: 60 [2018-12-23 14:21:12,820 INFO L273 TraceCheckUtils]: 0: Hoare triple {6672#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {6681#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:21:12,823 INFO L273 TraceCheckUtils]: 1: Hoare triple {6681#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (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)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6685#(or (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((v_prenex_48 Int) (v_prenex_47 Int)) (and (= (select |#memory_int| v_prenex_48) 0) (not (= v_prenex_48 ULTIMATE.start_main_p1)) (not (= v_prenex_48 ULTIMATE.start_main_p4)) (not (= v_prenex_48 v_prenex_47)) (= 0 (select |#memory_int| v_prenex_47)) (not (= v_prenex_47 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_42 Int)) (and (= (select |#memory_int| v_prenex_42) 1) (not (= v_prenex_42 ULTIMATE.start_main_p1)))) (exists ((v_prenex_41 Int)) (and (not (= v_prenex_41 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| v_prenex_41)) (not (= v_prenex_41 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4))) (and (= (select |#memory_int| ULTIMATE.start_main_p4) 1) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_45 Int) (v_prenex_46 Int)) (and (= 0 (select |#memory_int| v_prenex_45)) (= (select |#memory_int| v_prenex_46) 0) (not (= v_prenex_46 ULTIMATE.start_main_p1)) (not (= v_prenex_45 ULTIMATE.start_main_p1)) (not (= v_prenex_46 v_prenex_45))))))} is VALID [2018-12-23 14:21:12,832 INFO L273 TraceCheckUtils]: 2: Hoare triple {6685#(or (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((v_prenex_48 Int) (v_prenex_47 Int)) (and (= (select |#memory_int| v_prenex_48) 0) (not (= v_prenex_48 ULTIMATE.start_main_p1)) (not (= v_prenex_48 ULTIMATE.start_main_p4)) (not (= v_prenex_48 v_prenex_47)) (= 0 (select |#memory_int| v_prenex_47)) (not (= v_prenex_47 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_42 Int)) (and (= (select |#memory_int| v_prenex_42) 1) (not (= v_prenex_42 ULTIMATE.start_main_p1)))) (exists ((v_prenex_41 Int)) (and (not (= v_prenex_41 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| v_prenex_41)) (not (= v_prenex_41 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4))) (and (= (select |#memory_int| ULTIMATE.start_main_p4) 1) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_45 Int) (v_prenex_46 Int)) (and (= 0 (select |#memory_int| v_prenex_45)) (= (select |#memory_int| v_prenex_46) 0) (not (= v_prenex_46 ULTIMATE.start_main_p1)) (not (= v_prenex_45 ULTIMATE.start_main_p1)) (not (= v_prenex_46 v_prenex_45))))))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {6689#(or (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_41 Int)) (and (not (= v_prenex_41 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| v_prenex_41)))) (exists ((v_prenex_49 Int)) (= 0 (+ (select |#memory_int| v_prenex_49) 1))) (exists ((v_prenex_42 Int)) (= (select |#memory_int| v_prenex_42) 1))) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((v_prenex_51 Int)) (= (+ (select |#memory_int| v_prenex_51) 1) 0)) (exists ((v_prenex_48 Int) (v_prenex_47 Int)) (and (= 0 (select |#memory_int| v_prenex_48)) (not (= v_prenex_48 v_prenex_47)) (= 0 (select |#memory_int| v_prenex_47))))) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (v_prenex_45 Int) (v_prenex_46 Int)) (and (not (= v_prenex_45 ULTIMATE.start_main_p4)) (not (= v_prenex_46 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| v_prenex_45)) (= (select |#memory_int| v_prenex_46) 0) (not (= v_prenex_46 ULTIMATE.start_main_p1)) (not (= v_prenex_45 ULTIMATE.start_main_p1)) (not (= v_prenex_46 v_prenex_45)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4))))))} is VALID [2018-12-23 14:21:12,837 INFO L273 TraceCheckUtils]: 3: Hoare triple {6689#(or (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_41 Int)) (and (not (= v_prenex_41 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| v_prenex_41)))) (exists ((v_prenex_49 Int)) (= 0 (+ (select |#memory_int| v_prenex_49) 1))) (exists ((v_prenex_42 Int)) (= (select |#memory_int| v_prenex_42) 1))) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((v_prenex_51 Int)) (= (+ (select |#memory_int| v_prenex_51) 1) 0)) (exists ((v_prenex_48 Int) (v_prenex_47 Int)) (and (= 0 (select |#memory_int| v_prenex_48)) (not (= v_prenex_48 v_prenex_47)) (= 0 (select |#memory_int| v_prenex_47))))) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (v_prenex_45 Int) (v_prenex_46 Int)) (and (not (= v_prenex_45 ULTIMATE.start_main_p4)) (not (= v_prenex_46 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| v_prenex_45)) (= (select |#memory_int| v_prenex_46) 0) (not (= v_prenex_46 ULTIMATE.start_main_p1)) (not (= v_prenex_45 ULTIMATE.start_main_p1)) (not (= v_prenex_46 v_prenex_45)) (= (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]; {6693#(or (and (exists ((v_prenex_51 Int)) (= (+ (select |#memory_int| v_prenex_51) 1) 0)) (exists ((v_prenex_48 Int) (v_prenex_47 Int)) (and (= 0 (select |#memory_int| v_prenex_48)) (not (= v_prenex_48 v_prenex_47)) (= 0 (select |#memory_int| v_prenex_47)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (v_prenex_45 Int) (v_prenex_46 Int)) (and (not (= v_prenex_45 ULTIMATE.start_main_p4)) (not (= v_prenex_46 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| v_prenex_45)) (= (select |#memory_int| v_prenex_46) 0) (not (= v_prenex_46 v_prenex_45)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)))) (and (exists ((v_prenex_49 Int)) (= (+ (select |#memory_int| v_prenex_49) 1) 0)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((v_prenex_42 Int)) (and (= (select |#memory_int| v_prenex_42) 1) (not (= v_prenex_42 ULTIMATE.start_main_p1)))) (exists ((v_prenex_41 Int)) (= 0 (select |#memory_int| v_prenex_41)))))} is VALID [2018-12-23 14:21:12,838 INFO L273 TraceCheckUtils]: 4: Hoare triple {6693#(or (and (exists ((v_prenex_51 Int)) (= (+ (select |#memory_int| v_prenex_51) 1) 0)) (exists ((v_prenex_48 Int) (v_prenex_47 Int)) (and (= 0 (select |#memory_int| v_prenex_48)) (not (= v_prenex_48 v_prenex_47)) (= 0 (select |#memory_int| v_prenex_47)))) (= (select |#memory_int| ULTIMATE.start_main_p1) 2)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (v_prenex_45 Int) (v_prenex_46 Int)) (and (not (= v_prenex_45 ULTIMATE.start_main_p4)) (not (= v_prenex_46 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| v_prenex_45)) (= (select |#memory_int| v_prenex_46) 0) (not (= v_prenex_46 v_prenex_45)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)))) (and (exists ((v_prenex_49 Int)) (= (+ (select |#memory_int| v_prenex_49) 1) 0)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((v_prenex_42 Int)) (and (= (select |#memory_int| v_prenex_42) 1) (not (= v_prenex_42 ULTIMATE.start_main_p1)))) (exists ((v_prenex_41 Int)) (= 0 (select |#memory_int| v_prenex_41)))))} assume !(#memory_int[main_p1] >= 0); {6673#false} is VALID [2018-12-23 14:21:12,838 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:12,839 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:21:12,879 INFO L273 TraceCheckUtils]: 4: Hoare triple {6677#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {6673#false} is VALID [2018-12-23 14:21:12,880 INFO L273 TraceCheckUtils]: 3: Hoare triple {6676#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {6677#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:21:12,881 INFO L273 TraceCheckUtils]: 2: Hoare triple {6703#(<= 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]; {6676#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:21:12,883 INFO L273 TraceCheckUtils]: 1: Hoare triple {6707#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6703#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:21:12,885 INFO L273 TraceCheckUtils]: 0: Hoare triple {6672#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {6707#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2018-12-23 14:21:12,885 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 4 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:12,904 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:21:12,905 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 10 [2018-12-23 14:21:12,905 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:21:12,905 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:21:12,905 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:21:12,905 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-23 14:21:12,932 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:21:12,932 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-23 14:21:12,933 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-23 14:21:12,933 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=79, Unknown=0, NotChecked=0, Total=132 [2018-12-23 14:21:12,933 INFO L87 Difference]: Start difference. First operand 60 states and 267 transitions. Second operand 10 states. [2018-12-23 14:21:16,812 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:16,812 INFO L93 Difference]: Finished difference Result 137 states and 516 transitions. [2018-12-23 14:21:16,812 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2018-12-23 14:21:16,812 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:21:16,812 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:21:16,813 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:21:16,813 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 107 transitions. [2018-12-23 14:21:16,813 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:21:16,814 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 107 transitions. [2018-12-23 14:21:16,814 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 107 transitions. [2018-12-23 14:21:17,031 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:21:17,034 INFO L225 Difference]: With dead ends: 137 [2018-12-23 14:21:17,034 INFO L226 Difference]: Without dead ends: 136 [2018-12-23 14:21:17,035 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 43 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=90, Invalid=150, Unknown=0, NotChecked=0, Total=240 [2018-12-23 14:21:17,035 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 136 states. [2018-12-23 14:21:18,290 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 136 to 93. [2018-12-23 14:21:18,290 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:21:18,290 INFO L82 GeneralOperation]: Start isEquivalent. First operand 136 states. Second operand 93 states. [2018-12-23 14:21:18,290 INFO L74 IsIncluded]: Start isIncluded. First operand 136 states. Second operand 93 states. [2018-12-23 14:21:18,290 INFO L87 Difference]: Start difference. First operand 136 states. Second operand 93 states. [2018-12-23 14:21:18,294 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:18,294 INFO L93 Difference]: Finished difference Result 136 states and 513 transitions. [2018-12-23 14:21:18,294 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 513 transitions. [2018-12-23 14:21:18,295 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:21:18,295 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:21:18,295 INFO L74 IsIncluded]: Start isIncluded. First operand 93 states. Second operand 136 states. [2018-12-23 14:21:18,295 INFO L87 Difference]: Start difference. First operand 93 states. Second operand 136 states. [2018-12-23 14:21:18,299 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:18,299 INFO L93 Difference]: Finished difference Result 136 states and 513 transitions. [2018-12-23 14:21:18,299 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 513 transitions. [2018-12-23 14:21:18,300 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:21:18,300 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:21:18,300 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:21:18,300 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:21:18,300 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 93 states. [2018-12-23 14:21:18,303 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 93 states to 93 states and 468 transitions. [2018-12-23 14:21:18,303 INFO L78 Accepts]: Start accepts. Automaton has 93 states and 468 transitions. Word has length 5 [2018-12-23 14:21:18,303 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:21:18,303 INFO L480 AbstractCegarLoop]: Abstraction has 93 states and 468 transitions. [2018-12-23 14:21:18,303 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-23 14:21:18,303 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 468 transitions. [2018-12-23 14:21:18,304 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:21:18,304 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:21:18,304 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:21:18,304 INFO L423 AbstractCegarLoop]: === Iteration 26 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:21:18,304 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:21:18,304 INFO L82 PathProgramCache]: Analyzing trace with hash 29231506, now seen corresponding path program 1 times [2018-12-23 14:21:18,305 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:21:18,305 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:21:18,305 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:21:18,305 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:21:18,306 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:21:18,309 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:18,425 INFO L273 TraceCheckUtils]: 0: Hoare triple {7370#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {7372#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:21:18,426 INFO L273 TraceCheckUtils]: 1: Hoare triple {7372#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7373#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:21:18,427 INFO L273 TraceCheckUtils]: 2: Hoare triple {7373#(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]; {7373#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:21:18,428 INFO L273 TraceCheckUtils]: 3: Hoare triple {7373#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {7374#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:21:18,429 INFO L273 TraceCheckUtils]: 4: Hoare triple {7374#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {7371#false} is VALID [2018-12-23 14:21:18,429 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-23 14:21:18,430 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:21:18,430 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:21:18,430 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:21:18,430 INFO L207 CegarAbsIntRunner]: [0], [6], [20], [24], [25] [2018-12-23 14:21:18,431 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:21:18,431 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:21:18,439 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:21:18,439 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 58 root evaluator evaluations with a maximum evaluation depth of 2. Performed 58 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:21:18,440 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:21:18,440 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:21:18,440 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:21:18,440 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 24 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 24 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:21:18,448 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:21:18,448 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:21:18,452 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:18,456 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:18,457 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:21:18,513 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:18,514 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-23 14:21:18,567 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:18,568 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:18,569 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-23 14:21:18,629 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:18,630 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:18,631 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:18,632 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:18,633 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-23 14:21:18,705 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:18,706 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:18,708 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:18,709 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:18,710 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:18,711 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:18,712 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-23 14:21:18,718 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:18,735 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:18,751 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:18,769 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:18,797 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 18 treesize of output 21 [2018-12-23 14:21:18,808 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 21 treesize of output 27 [2018-12-23 14:21:18,822 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 23 treesize of output 37 [2018-12-23 14:21:18,839 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 10 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:21:18,859 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:21:18,864 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:18,890 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:18,906 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:18,919 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:18,931 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:18,970 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:18,971 INFO L202 ElimStorePlain]: Needed 10 recursive calls to eliminate 4 variables, input treesize:69, output treesize:66 [2018-12-23 14:21:18,980 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:18,980 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_135|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, |v_#valid_29|]. (let ((.cse1 (store |v_#valid_29| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p2 1))) (let ((.cse2 (store .cse0 ULTIMATE.start_main_p3 1))) (and (= (select .cse0 ULTIMATE.start_main_p3) 0) (= (store (store (store (store (store |v_#memory_int_135| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (= (select .cse1 ULTIMATE.start_main_p2) 0) (= (select (store .cse2 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0) (= 0 (select .cse2 ULTIMATE.start_main_p4)))))) [2018-12-23 14:21:18,981 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [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)) (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)) [2018-12-23 14:21:19,083 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:19,084 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2018-12-23 14:21:19,090 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:19,143 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:19,144 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-23 14:21:21,156 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:21,156 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_136|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_136| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_136| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_136| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_136| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_136| ULTIMATE.start_main_p5 (+ .cse0 1))) (= .cse0 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_136| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-23 14:21:21,156 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:21:21,251 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:21,252 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:21,253 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:21,255 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:21,256 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:21,257 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:21,257 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:21:21,258 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 80 [2018-12-23 14:21:21,263 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:21,304 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:21,305 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:60, output treesize:42 [2018-12-23 14:21:22,712 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:22,713 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_137|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_137| ULTIMATE.start_main_p1))) (and (= 1 (select |v_#memory_int_137| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= .cse0 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_137| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_137| ULTIMATE.start_main_p1 (+ .cse0 1))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_137| ULTIMATE.start_main_p3) 0) (= 0 (select |v_#memory_int_137| ULTIMATE.start_main_p4)))) [2018-12-23 14:21:22,713 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:21:22,780 INFO L273 TraceCheckUtils]: 0: Hoare triple {7370#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {7378#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:21:22,782 INFO L273 TraceCheckUtils]: 1: Hoare triple {7378#(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]; {7382#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2018-12-23 14:21:22,784 INFO L273 TraceCheckUtils]: 2: Hoare triple {7382#(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_p1 := #memory_int[main_p1] + 1]; {7386#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-23 14:21:22,785 INFO L273 TraceCheckUtils]: 3: Hoare triple {7386#(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; {7386#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-23 14:21:22,785 INFO L273 TraceCheckUtils]: 4: Hoare triple {7386#(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); {7371#false} is VALID [2018-12-23 14:21:22,786 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:22,786 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:21:22,834 INFO L273 TraceCheckUtils]: 4: Hoare triple {7393#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {7371#false} is VALID [2018-12-23 14:21:22,835 INFO L273 TraceCheckUtils]: 3: Hoare triple {7393#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {7393#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:21:22,837 INFO L273 TraceCheckUtils]: 2: Hoare triple {7400#(<= (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]; {7393#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:21:22,838 INFO L273 TraceCheckUtils]: 1: Hoare triple {7404#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7400#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:21:22,839 INFO L273 TraceCheckUtils]: 0: Hoare triple {7370#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {7404#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:21:22,839 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:22,858 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:21:22,859 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:21:22,859 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:21:22,859 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-23 14:21:22,859 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:21:22,859 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:21:22,875 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:21:22,875 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:21:22,875 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:21:22,876 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=67, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:21:22,876 INFO L87 Difference]: Start difference. First operand 93 states and 468 transitions. Second operand 8 states. [2018-12-23 14:21:25,548 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:25,549 INFO L93 Difference]: Finished difference Result 120 states and 513 transitions. [2018-12-23 14:21:25,549 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-23 14:21:25,549 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-23 14:21:25,549 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:21:25,549 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:21:25,549 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 58 transitions. [2018-12-23 14:21:25,550 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:21:25,550 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 58 transitions. [2018-12-23 14:21:25,550 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 58 transitions. [2018-12-23 14:21:25,633 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:21:25,637 INFO L225 Difference]: With dead ends: 120 [2018-12-23 14:21:25,637 INFO L226 Difference]: Without dead ends: 119 [2018-12-23 14:21:25,637 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 2 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=61, Invalid=95, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:21:25,637 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 119 states. [2018-12-23 14:21:26,939 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 119 to 96. [2018-12-23 14:21:26,939 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:21:26,939 INFO L82 GeneralOperation]: Start isEquivalent. First operand 119 states. Second operand 96 states. [2018-12-23 14:21:26,939 INFO L74 IsIncluded]: Start isIncluded. First operand 119 states. Second operand 96 states. [2018-12-23 14:21:26,939 INFO L87 Difference]: Start difference. First operand 119 states. Second operand 96 states. [2018-12-23 14:21:26,943 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:26,943 INFO L93 Difference]: Finished difference Result 119 states and 511 transitions. [2018-12-23 14:21:26,943 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 511 transitions. [2018-12-23 14:21:26,943 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:21:26,943 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:21:26,943 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand 119 states. [2018-12-23 14:21:26,943 INFO L87 Difference]: Start difference. First operand 96 states. Second operand 119 states. [2018-12-23 14:21:26,946 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:26,946 INFO L93 Difference]: Finished difference Result 119 states and 511 transitions. [2018-12-23 14:21:26,946 INFO L276 IsEmpty]: Start isEmpty. Operand 119 states and 511 transitions. [2018-12-23 14:21:26,946 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:21:26,947 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:21:26,947 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:21:26,947 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:21:26,947 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 96 states. [2018-12-23 14:21:26,949 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 96 states to 96 states and 486 transitions. [2018-12-23 14:21:26,949 INFO L78 Accepts]: Start accepts. Automaton has 96 states and 486 transitions. Word has length 5 [2018-12-23 14:21:26,949 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:21:26,949 INFO L480 AbstractCegarLoop]: Abstraction has 96 states and 486 transitions. [2018-12-23 14:21:26,949 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:21:26,949 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 486 transitions. [2018-12-23 14:21:26,950 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:21:26,950 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:21:26,950 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:21:26,950 INFO L423 AbstractCegarLoop]: === Iteration 27 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:21:26,950 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:21:26,950 INFO L82 PathProgramCache]: Analyzing trace with hash 29248868, now seen corresponding path program 1 times [2018-12-23 14:21:26,951 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:21:26,951 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:21:26,951 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:21:26,951 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:21:26,952 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:21:26,954 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:27,018 INFO L273 TraceCheckUtils]: 0: Hoare triple {8020#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {8022#(and (or (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))) (or (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p5) 0)))} is VALID [2018-12-23 14:21:27,019 INFO L273 TraceCheckUtils]: 1: Hoare triple {8022#(and (or (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))) (or (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p5) 0)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {8023#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:21:27,020 INFO L273 TraceCheckUtils]: 2: Hoare triple {8023#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {8023#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:21:27,021 INFO L273 TraceCheckUtils]: 3: Hoare triple {8023#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {8023#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:21:27,021 INFO L273 TraceCheckUtils]: 4: Hoare triple {8023#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {8021#false} is VALID [2018-12-23 14:21:27,022 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:27,022 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:21:27,022 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:21:27,022 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:21:27,023 INFO L207 CegarAbsIntRunner]: [0], [20], [24], [26], [27] [2018-12-23 14:21:27,025 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:21:27,025 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:21:27,036 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:21:27,036 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 58 root evaluator evaluations with a maximum evaluation depth of 2. Performed 58 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-23 14:21:27,036 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:21:27,037 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:21:27,037 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:21:27,037 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 25 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 25 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:21:27,047 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:21:27,047 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:21:27,051 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:27,054 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:27,055 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:21:27,078 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:21:27,085 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:21:27,093 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:27,095 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:27,095 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 23 treesize of output 33 [2018-12-23 14:21:27,107 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:27,108 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:27,109 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:27,110 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 25 treesize of output 47 [2018-12-23 14:21:27,124 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:27,127 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:27,128 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:27,129 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:27,130 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 62 [2018-12-23 14:21:27,134 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:27,161 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:27,176 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:27,187 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:27,199 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:27,222 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 39 [2018-12-23 14:21:27,248 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:27,250 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:27,251 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 49 [2018-12-23 14:21:27,300 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:27,301 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:27,304 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:27,305 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:27,305 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 57 [2018-12-23 14:21:27,371 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:27,371 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:27,372 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:27,373 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:27,374 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:27,376 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:27,377 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 37 [2018-12-23 14:21:27,382 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:27,397 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:27,413 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:27,430 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:27,468 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:27,469 INFO L202 ElimStorePlain]: Needed 10 recursive calls to eliminate 5 variables, input treesize:61, output treesize:62 [2018-12-23 14:21:27,480 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:27,480 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_140|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, |v_#valid_30|]. (let ((.cse1 (store (store |v_#valid_30| ULTIMATE.start_main_p1 1) 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)) (= (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0) (= (store (store (store (store (store |v_#memory_int_140| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|)))) [2018-12-23 14:21:27,480 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p1]. (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)) (= (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)) [2018-12-23 14:21:27,688 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:27,689 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 68 [2018-12-23 14:21:27,693 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:27,729 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:27,730 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:72, output treesize:46 [2018-12-23 14:21:27,747 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:27,748 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_141|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_141| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_141| ULTIMATE.start_main_p4) 0) (= |#memory_int| (store |v_#memory_int_141| ULTIMATE.start_main_p5 (+ .cse0 1))) (= 0 (select |v_#memory_int_141| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_141| ULTIMATE.start_main_p1)) (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_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_141| ULTIMATE.start_main_p3)) (= .cse0 0))) [2018-12-23 14:21:27,748 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (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_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)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:21:27,835 INFO L273 TraceCheckUtils]: 0: Hoare triple {8020#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {8027#(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_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (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_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_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2018-12-23 14:21:27,838 INFO L273 TraceCheckUtils]: 1: Hoare triple {8027#(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_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (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_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_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {8031#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (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_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (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)))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:21:27,838 INFO L273 TraceCheckUtils]: 2: Hoare triple {8031#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (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_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (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)))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p1] >= 0; {8031#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (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_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (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)))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:21:27,839 INFO L273 TraceCheckUtils]: 3: Hoare triple {8031#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (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_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (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)))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p2] <= 0; {8031#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (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_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (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)))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:21:27,840 INFO L273 TraceCheckUtils]: 4: Hoare triple {8031#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (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_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (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)))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume !(#memory_int[main_p3] >= 0); {8021#false} is VALID [2018-12-23 14:21:27,841 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:27,841 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:21:27,856 INFO L273 TraceCheckUtils]: 4: Hoare triple {8023#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {8021#false} is VALID [2018-12-23 14:21:27,857 INFO L273 TraceCheckUtils]: 3: Hoare triple {8023#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {8023#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:21:27,857 INFO L273 TraceCheckUtils]: 2: Hoare triple {8023#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {8023#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:21:27,858 INFO L273 TraceCheckUtils]: 1: Hoare triple {8050#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {8023#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:21:27,860 INFO L273 TraceCheckUtils]: 0: Hoare triple {8020#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {8050#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:21:27,860 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:27,880 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 2 imperfect interpolant sequences. [2018-12-23 14:21:27,880 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2, 2] total 5 [2018-12-23 14:21:27,880 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-23 14:21:27,880 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 5 [2018-12-23 14:21:27,880 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:21:27,880 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-12-23 14:21:27,886 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 5 edges. 5 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:21:27,886 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-12-23 14:21:27,886 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-12-23 14:21:27,886 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=20, Invalid=22, Unknown=0, NotChecked=0, Total=42 [2018-12-23 14:21:27,887 INFO L87 Difference]: Start difference. First operand 96 states and 486 transitions. Second operand 4 states. [2018-12-23 14:21:30,477 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:30,477 INFO L93 Difference]: Finished difference Result 105 states and 515 transitions. [2018-12-23 14:21:30,477 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-12-23 14:21:30,477 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 5 [2018-12-23 14:21:30,477 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:21:30,477 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-23 14:21:30,478 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 25 transitions. [2018-12-23 14:21:30,478 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-23 14:21:30,478 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 25 transitions. [2018-12-23 14:21:30,478 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 25 transitions. [2018-12-23 14:21:30,498 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:21:30,501 INFO L225 Difference]: With dead ends: 105 [2018-12-23 14:21:30,501 INFO L226 Difference]: Without dead ends: 104 [2018-12-23 14:21:30,501 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=20, Invalid=22, Unknown=0, NotChecked=0, Total=42 [2018-12-23 14:21:30,501 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states. [2018-12-23 14:21:32,788 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 103. [2018-12-23 14:21:32,788 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:21:32,788 INFO L82 GeneralOperation]: Start isEquivalent. First operand 104 states. Second operand 103 states. [2018-12-23 14:21:32,788 INFO L74 IsIncluded]: Start isIncluded. First operand 104 states. Second operand 103 states. [2018-12-23 14:21:32,788 INFO L87 Difference]: Start difference. First operand 104 states. Second operand 103 states. [2018-12-23 14:21:32,791 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:32,791 INFO L93 Difference]: Finished difference Result 104 states and 513 transitions. [2018-12-23 14:21:32,791 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 513 transitions. [2018-12-23 14:21:32,791 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:21:32,792 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:21:32,792 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand 104 states. [2018-12-23 14:21:32,792 INFO L87 Difference]: Start difference. First operand 103 states. Second operand 104 states. [2018-12-23 14:21:32,795 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:32,795 INFO L93 Difference]: Finished difference Result 104 states and 513 transitions. [2018-12-23 14:21:32,796 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 513 transitions. [2018-12-23 14:21:32,796 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:21:32,796 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:21:32,796 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:21:32,796 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:21:32,797 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 103 states. [2018-12-23 14:21:32,800 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 103 states to 103 states and 513 transitions. [2018-12-23 14:21:32,800 INFO L78 Accepts]: Start accepts. Automaton has 103 states and 513 transitions. Word has length 5 [2018-12-23 14:21:32,800 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:21:32,800 INFO L480 AbstractCegarLoop]: Abstraction has 103 states and 513 transitions. [2018-12-23 14:21:32,800 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-12-23 14:21:32,800 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 513 transitions. [2018-12-23 14:21:32,801 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:21:32,801 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:21:32,801 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:21:32,801 INFO L423 AbstractCegarLoop]: === Iteration 28 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:21:32,801 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:21:32,801 INFO L82 PathProgramCache]: Analyzing trace with hash 29235162, now seen corresponding path program 3 times [2018-12-23 14:21:32,802 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:21:32,802 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:21:32,802 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:21:32,802 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:21:32,803 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:21:32,807 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:33,117 INFO L273 TraceCheckUtils]: 0: Hoare triple {8631#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {8633#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p5) 0) (or (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:21:33,119 INFO L273 TraceCheckUtils]: 1: Hoare triple {8633#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p5) 0) (or (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {8634#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (or (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:21:33,120 INFO L273 TraceCheckUtils]: 2: Hoare triple {8634#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (or (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {8635#(and (or (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:21:33,121 INFO L273 TraceCheckUtils]: 3: Hoare triple {8635#(and (or (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {8636#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:21:33,122 INFO L273 TraceCheckUtils]: 4: Hoare triple {8636#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {8632#false} is VALID [2018-12-23 14:21:33,122 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:33,122 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:21:33,122 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:21:33,123 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-23 14:21:33,123 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2018-12-23 14:21:33,123 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:21:33,123 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 26 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 26 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:21:33,134 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-12-23 14:21:33,134 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder TERMS_WITH_SMALL_CONSTANTS_FIRST (IT: FPandBP) [2018-12-23 14:21:33,138 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-12-23 14:21:33,138 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-23 14:21:33,142 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:33,142 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:21:33,202 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 18 treesize of output 21 [2018-12-23 14:21:33,217 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:21:33,230 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:33,231 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:33,232 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:21:33,250 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:33,251 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:33,252 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:33,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, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:21:33,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, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:21:33,289 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:33,307 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:33,325 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:33,340 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:33,354 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:33,380 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:33,381 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 31 treesize of output 40 [2018-12-23 14:21:33,473 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:33,474 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:33,475 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 42 [2018-12-23 14:21:33,516 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:33,518 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:33,519 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:33,520 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:33,520 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 25 [2018-12-23 14:21:33,522 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:33,532 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:33,542 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:33,566 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 2 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:33,566 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 3 variables, input treesize:52, output treesize:50 [2018-12-23 14:21:33,573 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:33,573 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_143|, ULTIMATE.start_main_p3, |v_#valid_31|]. (let ((.cse1 (store |v_#valid_31| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p2 1))) (and (= |#memory_int| (store (store (store (store (store |v_#memory_int_143| 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)) (= 0 (select (store .cse0 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4)) (= (select .cse1 ULTIMATE.start_main_p2) 0) (= 0 (select .cse0 ULTIMATE.start_main_p3))))) [2018-12-23 14:21:33,573 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (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_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) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:21:33,638 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:33,669 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 7 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 8 case distinctions, treesize of input 36 treesize of output 66 [2018-12-23 14:21:33,675 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 16 xjuncts. [2018-12-23 14:21:33,850 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 6 dim-0 vars, and 5 xjuncts. [2018-12-23 14:21:33,850 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:60, output treesize:199 [2018-12-23 14:21:35,882 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:35,882 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_144|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_144| ULTIMATE.start_main_p5))) (and (= 0 (select |v_#memory_int_144| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_144| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_144| 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 |v_#memory_int_144| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_144| ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) [2018-12-23 14:21:35,883 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_57, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, v_prenex_56, v_prenex_55, v_prenex_58]. (let ((.cse8 (select |#memory_int| ULTIMATE.start_main_p4)) (.cse7 (select |#memory_int| ULTIMATE.start_main_p2)) (.cse6 (select |#memory_int| ULTIMATE.start_main_p1))) (let ((.cse0 (= .cse6 0)) (.cse1 (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1))) (.cse2 (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4))) (.cse3 (= 0 .cse7)) (.cse5 (= .cse8 0)) (.cse4 (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (or (and (not (= v_prenex_57 ULTIMATE.start_main_p4)) (not (= v_prenex_57 ULTIMATE.start_main_p2)) .cse0 .cse1 .cse2 (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) .cse3 (not (= v_prenex_57 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_57) 0) .cse4 .cse5) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= .cse6 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) .cse2 .cse3 (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) .cse4 .cse5) (and (not (= v_prenex_56 ULTIMATE.start_main_p4)) (= 1 .cse7) .cse0 (not (= v_prenex_56 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_56) 0) .cse5 .cse4) (and (not (= v_prenex_55 ULTIMATE.start_main_p2)) .cse0 (= .cse8 1) .cse1 .cse3 (not (= v_prenex_55 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_55) 0) .cse4) (and .cse0 .cse1 .cse2 (= (select |#memory_int| v_prenex_58) 1) .cse3 (not (= v_prenex_58 ULTIMATE.start_main_p1)) .cse5 .cse4)))) [2018-12-23 14:21:36,094 WARN L181 SmtUtils]: Spent 125.00 ms on a formula simplification. DAG size of input: 78 DAG size of output: 62 [2018-12-23 14:21:36,160 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:36,161 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:36,162 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:36,163 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:36,164 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:36,165 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:36,166 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 61 [2018-12-23 14:21:36,168 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:36,269 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:36,270 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:36,271 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:36,272 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:36,273 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:21:36,274 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 51 [2018-12-23 14:21:36,276 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:36,365 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:36,366 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:36,367 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:36,368 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:36,369 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:36,370 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:36,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, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 65 [2018-12-23 14:21:36,373 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:36,464 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:36,465 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:36,466 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:36,467 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:36,468 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:36,469 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:36,470 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 65 [2018-12-23 14:21:36,472 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:36,548 INFO L267 ElimStorePlain]: Start of recursive call 1: 8 dim-0 vars, 4 dim-1 vars, End of recursive call: 8 dim-0 vars, and 4 xjuncts. [2018-12-23 14:21:36,549 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 12 variables, input treesize:181, output treesize:121 [2018-12-23 14:21:38,688 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:38,688 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_prenex_60, v_prenex_59, v_prenex_55, |v_#memory_int_145|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, v_prenex_64, v_prenex_63, v_prenex_56, v_prenex_62, v_prenex_61, v_prenex_58]. (let ((.cse3 (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (or (let ((.cse0 (select v_prenex_60 v_prenex_59))) (and (not (= v_prenex_59 ULTIMATE.start_main_p1)) (= 0 .cse0) (= (store v_prenex_60 v_prenex_59 (+ .cse0 (- 1))) |#memory_int|) (not (= v_prenex_55 v_prenex_59)) (= 0 (select v_prenex_60 ULTIMATE.start_main_p1)) (= 1 (select v_prenex_60 ULTIMATE.start_main_p4)) (not (= v_prenex_55 ULTIMATE.start_main_p1)) (= (select v_prenex_60 v_prenex_55) 0))) (let ((.cse1 (select |v_#memory_int_145| ULTIMATE.start_main_p2))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_145| ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_145| ULTIMATE.start_main_p3)) (= 1 (select |v_#memory_int_145| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (store |v_#memory_int_145| ULTIMATE.start_main_p2 (+ .cse1 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 .cse1))) (let ((.cse2 (select v_prenex_64 v_prenex_63))) (and (= 1 .cse2) (= (store v_prenex_64 v_prenex_63 (+ .cse2 (- 1))) |#memory_int|) (= 0 (select v_prenex_64 ULTIMATE.start_main_p4)) (not (= v_prenex_56 ULTIMATE.start_main_p4)) (not (= v_prenex_56 ULTIMATE.start_main_p1)) (= (select v_prenex_64 v_prenex_56) 0) (= 0 (select v_prenex_64 ULTIMATE.start_main_p1)) .cse3)) (let ((.cse4 (select v_prenex_62 v_prenex_61))) (and (not (= v_prenex_61 ULTIMATE.start_main_p4)) (= 1 (select v_prenex_62 v_prenex_58)) (not (= v_prenex_61 ULTIMATE.start_main_p1)) (= 0 (select v_prenex_62 ULTIMATE.start_main_p4)) (not (= v_prenex_58 ULTIMATE.start_main_p1)) (= 0 (select v_prenex_62 ULTIMATE.start_main_p1)) (= 0 .cse4) (= (store v_prenex_62 v_prenex_61 (+ .cse4 (- 1))) |#memory_int|) .cse3)))) [2018-12-23 14:21:38,688 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_59, v_prenex_55, v_prenex_61, v_prenex_58, v_prenex_63, v_prenex_56, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |#memory_int| ULTIMATE.start_main_p4)) (.cse4 (select |#memory_int| ULTIMATE.start_main_p1))) (let ((.cse1 (= .cse4 0)) (.cse2 (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4))) (.cse3 (= .cse0 0))) (or (and (= (- 1) (select |#memory_int| v_prenex_59)) (= 0 (select |#memory_int| v_prenex_55)) (= .cse0 1) .cse1 (not (= v_prenex_55 ULTIMATE.start_main_p1))) (and (= (- 1) (select |#memory_int| v_prenex_61)) .cse1 (= 1 (select |#memory_int| v_prenex_58)) .cse2 .cse3) (and (not (= v_prenex_63 ULTIMATE.start_main_p4)) (= (select |#memory_int| v_prenex_63) 0) .cse1 (not (= v_prenex_56 v_prenex_63)) (not (= v_prenex_56 ULTIMATE.start_main_p4)) (not (= v_prenex_56 ULTIMATE.start_main_p1)) (not (= v_prenex_63 ULTIMATE.start_main_p1)) .cse2 .cse3 (= (select |#memory_int| v_prenex_56) 0)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= .cse4 1) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) .cse3)))) [2018-12-23 14:21:38,838 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:38,840 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:38,841 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:38,842 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:38,843 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:38,844 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:38,845 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:38,846 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:38,847 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:38,848 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:38,849 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:21:38,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, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 82 [2018-12-23 14:21:38,852 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:38,957 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:38,958 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 55 treesize of output 59 [2018-12-23 14:21:38,961 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:39,040 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,042 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,043 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,044 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,045 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,046 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,047 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,048 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,049 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,050 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:21:39,051 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 73 [2018-12-23 14:21:39,053 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:39,133 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,134 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,135 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,136 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,137 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,138 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,140 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,141 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,142 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,143 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:39,143 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:21:39,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, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 78 [2018-12-23 14:21:39,147 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:39,226 INFO L267 ElimStorePlain]: Start of recursive call 1: 12 dim-0 vars, 4 dim-1 vars, End of recursive call: 12 dim-0 vars, and 4 xjuncts. [2018-12-23 14:21:39,227 INFO L202 ElimStorePlain]: Needed 5 recursive calls to eliminate 16 variables, input treesize:167, output treesize:123 [2018-12-23 14:21:41,402 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:41,403 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_prenex_70, v_prenex_69, v_prenex_55, v_prenex_59, v_prenex_66, v_prenex_65, v_prenex_63, v_prenex_56, v_prenex_68, v_prenex_67, v_prenex_58, v_prenex_61, |v_#memory_int_146|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (or (let ((.cse0 (select v_prenex_70 v_prenex_69))) (and (= 0 (select v_prenex_70 v_prenex_55)) (= (select v_prenex_70 ULTIMATE.start_main_p1) 0) (= |#memory_int| (store v_prenex_70 v_prenex_69 (+ .cse0 (- 1)))) (= (+ (select v_prenex_70 v_prenex_59) 1) 0) (not (= v_prenex_55 ULTIMATE.start_main_p1)) (= 1 .cse0))) (let ((.cse1 (select v_prenex_66 v_prenex_65))) (and (= 0 (select v_prenex_66 v_prenex_63)) (not (= ULTIMATE.start_main_p1 v_prenex_65)) (not (= v_prenex_56 v_prenex_63)) (not (= v_prenex_63 v_prenex_65)) (= 0 .cse1) (= |#memory_int| (store v_prenex_66 v_prenex_65 (+ .cse1 (- 1)))) (not (= v_prenex_56 ULTIMATE.start_main_p1)) (= (select v_prenex_66 ULTIMATE.start_main_p1) 0) (not (= v_prenex_56 v_prenex_65)) (not (= v_prenex_63 ULTIMATE.start_main_p1)) (= 0 (select v_prenex_66 v_prenex_56)))) (let ((.cse2 (select v_prenex_68 v_prenex_67))) (and (= 0 .cse2) (not (= ULTIMATE.start_main_p1 v_prenex_67)) (= (select v_prenex_68 ULTIMATE.start_main_p1) 0) (= (select v_prenex_68 v_prenex_58) 1) (= |#memory_int| (store v_prenex_68 v_prenex_67 (+ .cse2 (- 1)))) (= 0 (+ (select v_prenex_68 v_prenex_61) 1)))) (let ((.cse3 (select |v_#memory_int_146| ULTIMATE.start_main_p4))) (and (= (+ (select |v_#memory_int_146| ULTIMATE.start_main_p2) 1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_146| ULTIMATE.start_main_p1) 1) (= 0 .cse3) (= 0 (select |v_#memory_int_146| ULTIMATE.start_main_p3)) (= |#memory_int| (store |v_#memory_int_146| ULTIMATE.start_main_p4 (+ .cse3 (- 1))))))) [2018-12-23 14:21:41,403 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_63, v_prenex_56, v_prenex_65, v_prenex_69, v_prenex_55, v_prenex_59, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, v_prenex_67, v_prenex_61, v_prenex_58]. (let ((.cse1 (select |#memory_int| ULTIMATE.start_main_p1))) (let ((.cse0 (= .cse1 0))) (or (and (= (select |#memory_int| v_prenex_63) 0) .cse0 (not (= v_prenex_56 v_prenex_63)) (= (- 1) (select |#memory_int| v_prenex_65)) (not (= v_prenex_56 ULTIMATE.start_main_p1)) (not (= v_prenex_63 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_56) 0)) (and (not (= v_prenex_69 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| v_prenex_55)) .cse0 (not (= v_prenex_55 ULTIMATE.start_main_p1)) (= (+ (select |#memory_int| v_prenex_59) 1) 0) (not (= v_prenex_55 v_prenex_69)) (= 0 (select |#memory_int| v_prenex_69))) (and (= .cse1 1) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) (and (= (select |#memory_int| v_prenex_67) (- 1)) .cse0 (not (= v_prenex_67 v_prenex_61)) (= (+ (select |#memory_int| v_prenex_61) 1) 0) (= 1 (select |#memory_int| v_prenex_58)))))) [2018-12-23 14:21:41,530 INFO L273 TraceCheckUtils]: 0: Hoare triple {8631#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {8640#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((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_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (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)))} is VALID [2018-12-23 14:21:41,532 INFO L273 TraceCheckUtils]: 1: Hoare triple {8640#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((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_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (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)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {8644#(or (and (exists ((v_prenex_58 Int)) (and (not (= v_prenex_58 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_58) 1))) (= (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))) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((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_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (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)) (and (= (select |#memory_int| ULTIMATE.start_main_p4) 1) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((v_prenex_55 Int)) (and (= (select |#memory_int| v_prenex_55) 0) (not (= v_prenex_55 ULTIMATE.start_main_p1)) (not (= v_prenex_55 ULTIMATE.start_main_p2)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2))) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_56 Int)) (and (not (= v_prenex_56 ULTIMATE.start_main_p4)) (not (= v_prenex_56 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_56) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4))))} is VALID [2018-12-23 14:21:41,535 INFO L273 TraceCheckUtils]: 2: Hoare triple {8644#(or (and (exists ((v_prenex_58 Int)) (and (not (= v_prenex_58 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_58) 1))) (= (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))) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((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_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (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)) (and (= (select |#memory_int| ULTIMATE.start_main_p4) 1) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((v_prenex_55 Int)) (and (= (select |#memory_int| v_prenex_55) 0) (not (= v_prenex_55 ULTIMATE.start_main_p1)) (not (= v_prenex_55 ULTIMATE.start_main_p2)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2))) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_56 Int)) (and (not (= v_prenex_56 ULTIMATE.start_main_p4)) (not (= v_prenex_56 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_56) 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]; {8648#(or (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1))) (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_56 Int) (v_prenex_63 Int)) (and (not (= v_prenex_63 ULTIMATE.start_main_p4)) (= (select |#memory_int| v_prenex_63) 0) (not (= v_prenex_56 v_prenex_63)) (not (= v_prenex_56 ULTIMATE.start_main_p4)) (not (= v_prenex_56 ULTIMATE.start_main_p1)) (not (= v_prenex_63 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_56) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4))) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_58 Int)) (= 1 (select |#memory_int| v_prenex_58))) (exists ((v_prenex_61 Int)) (= 0 (+ (select |#memory_int| v_prenex_61) 1))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4))) (and (= (select |#memory_int| ULTIMATE.start_main_p4) 1) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_55 Int)) (and (= 0 (select |#memory_int| v_prenex_55)) (not (= v_prenex_55 ULTIMATE.start_main_p1)))) (exists ((v_prenex_59 Int)) (= 0 (+ (select |#memory_int| v_prenex_59) 1)))))} is VALID [2018-12-23 14:21:41,543 INFO L273 TraceCheckUtils]: 3: Hoare triple {8648#(or (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p2 Int)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1))) (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_56 Int) (v_prenex_63 Int)) (and (not (= v_prenex_63 ULTIMATE.start_main_p4)) (= (select |#memory_int| v_prenex_63) 0) (not (= v_prenex_56 v_prenex_63)) (not (= v_prenex_56 ULTIMATE.start_main_p4)) (not (= v_prenex_56 ULTIMATE.start_main_p1)) (not (= v_prenex_63 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_56) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4))) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_58 Int)) (= 1 (select |#memory_int| v_prenex_58))) (exists ((v_prenex_61 Int)) (= 0 (+ (select |#memory_int| v_prenex_61) 1))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4))) (and (= (select |#memory_int| ULTIMATE.start_main_p4) 1) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_55 Int)) (and (= 0 (select |#memory_int| v_prenex_55)) (not (= v_prenex_55 ULTIMATE.start_main_p1)))) (exists ((v_prenex_59 Int)) (= 0 (+ (select |#memory_int| v_prenex_59) 1)))))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {8652#(or (and (exists ((v_prenex_67 Int) (v_prenex_61 Int)) (and (= (+ (select |#memory_int| v_prenex_67) 1) 0) (not (= v_prenex_67 v_prenex_61)) (= (+ (select |#memory_int| v_prenex_61) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_58 Int)) (= 1 (select |#memory_int| v_prenex_58)))) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_55 Int) (v_prenex_69 Int)) (and (not (= v_prenex_69 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| v_prenex_55)) (not (= v_prenex_55 ULTIMATE.start_main_p1)) (not (= v_prenex_55 v_prenex_69)) (= 0 (select |#memory_int| v_prenex_69)))) (exists ((v_prenex_59 Int)) (= (+ (select |#memory_int| v_prenex_59) 1) 0))) (and (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int)) (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)))))} is VALID [2018-12-23 14:21:41,544 INFO L273 TraceCheckUtils]: 4: Hoare triple {8652#(or (and (exists ((v_prenex_67 Int) (v_prenex_61 Int)) (and (= (+ (select |#memory_int| v_prenex_67) 1) 0) (not (= v_prenex_67 v_prenex_61)) (= (+ (select |#memory_int| v_prenex_61) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_58 Int)) (= 1 (select |#memory_int| v_prenex_58)))) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_55 Int) (v_prenex_69 Int)) (and (not (= v_prenex_69 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| v_prenex_55)) (not (= v_prenex_55 ULTIMATE.start_main_p1)) (not (= v_prenex_55 v_prenex_69)) (= 0 (select |#memory_int| v_prenex_69)))) (exists ((v_prenex_59 Int)) (= (+ (select |#memory_int| v_prenex_59) 1) 0))) (and (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (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); {8632#false} is VALID [2018-12-23 14:21:41,544 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:41,544 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:21:41,597 INFO L273 TraceCheckUtils]: 4: Hoare triple {8636#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {8632#false} is VALID [2018-12-23 14:21:41,598 INFO L273 TraceCheckUtils]: 3: Hoare triple {8659#(<= 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]; {8636#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:21:41,600 INFO L273 TraceCheckUtils]: 2: Hoare triple {8663#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {8659#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:21:41,602 INFO L273 TraceCheckUtils]: 1: Hoare triple {8667#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p4 (+ (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_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {8663#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:21:41,604 INFO L273 TraceCheckUtils]: 0: Hoare triple {8631#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {8667#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p4 (+ (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_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2018-12-23 14:21:41,605 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:41,624 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:21:41,624 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2018-12-23 14:21:41,625 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:21:41,625 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:21:41,625 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:21:41,625 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-23 14:21:41,645 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:21:41,645 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-23 14:21:41,645 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-23 14:21:41,646 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=58, Invalid=98, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:21:41,646 INFO L87 Difference]: Start difference. First operand 103 states and 513 transitions. Second operand 10 states. [2018-12-23 14:21:42,841 WARN L181 SmtUtils]: Spent 120.00 ms on a formula simplification. DAG size of input: 79 DAG size of output: 72 [2018-12-23 14:21:44,702 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:44,702 INFO L93 Difference]: Finished difference Result 131 states and 560 transitions. [2018-12-23 14:21:44,702 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-23 14:21:44,702 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2018-12-23 14:21:44,702 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:21:44,702 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:21:44,703 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 58 transitions. [2018-12-23 14:21:44,703 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:21:44,703 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 58 transitions. [2018-12-23 14:21:44,703 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 58 transitions. [2018-12-23 14:21:44,853 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:21:44,855 INFO L225 Difference]: With dead ends: 131 [2018-12-23 14:21:44,855 INFO L226 Difference]: Without dead ends: 130 [2018-12-23 14:21:44,856 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 51 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=77, Invalid=133, Unknown=0, NotChecked=0, Total=210 [2018-12-23 14:21:44,856 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2018-12-23 14:21:45,792 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 41. [2018-12-23 14:21:45,793 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:21:45,793 INFO L82 GeneralOperation]: Start isEquivalent. First operand 130 states. Second operand 41 states. [2018-12-23 14:21:45,793 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand 41 states. [2018-12-23 14:21:45,793 INFO L87 Difference]: Start difference. First operand 130 states. Second operand 41 states. [2018-12-23 14:21:45,798 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:45,798 INFO L93 Difference]: Finished difference Result 130 states and 551 transitions. [2018-12-23 14:21:45,798 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 551 transitions. [2018-12-23 14:21:45,799 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:21:45,799 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:21:45,799 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 130 states. [2018-12-23 14:21:45,799 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 130 states. [2018-12-23 14:21:45,803 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:45,803 INFO L93 Difference]: Finished difference Result 130 states and 551 transitions. [2018-12-23 14:21:45,803 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 551 transitions. [2018-12-23 14:21:45,803 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:21:45,803 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:21:45,804 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:21:45,804 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:21:45,804 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2018-12-23 14:21:45,805 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 140 transitions. [2018-12-23 14:21:45,805 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 140 transitions. Word has length 5 [2018-12-23 14:21:45,805 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:21:45,805 INFO L480 AbstractCegarLoop]: Abstraction has 41 states and 140 transitions. [2018-12-23 14:21:45,805 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-23 14:21:45,805 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 140 transitions. [2018-12-23 14:21:45,806 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:21:45,806 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:21:45,806 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:21:45,806 INFO L423 AbstractCegarLoop]: === Iteration 29 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:21:45,806 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:21:45,806 INFO L82 PathProgramCache]: Analyzing trace with hash 29239194, now seen corresponding path program 1 times [2018-12-23 14:21:45,806 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:21:45,807 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:21:45,807 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-23 14:21:45,807 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:21:45,808 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:21:45,811 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:46,084 INFO L273 TraceCheckUtils]: 0: Hoare triple {9211#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {9213#(and (= (select |#memory_int| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:21:46,085 INFO L273 TraceCheckUtils]: 1: Hoare triple {9213#(and (= (select |#memory_int| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {9214#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:21:46,086 INFO L273 TraceCheckUtils]: 2: Hoare triple {9214#(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]; {9215#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:21:46,087 INFO L273 TraceCheckUtils]: 3: Hoare triple {9215#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {9215#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:21:46,087 INFO L273 TraceCheckUtils]: 4: Hoare triple {9215#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {9212#false} is VALID [2018-12-23 14:21:46,088 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:46,088 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:21:46,088 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:21:46,088 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:21:46,089 INFO L207 CegarAbsIntRunner]: [0], [14], [20], [24], [25] [2018-12-23 14:21:46,090 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:21:46,090 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:21:46,099 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:21:46,099 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 58 root evaluator evaluations with a maximum evaluation depth of 2. Performed 58 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:21:46,099 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:21:46,099 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:21:46,099 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:21:46,100 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 27 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 27 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:21:46,131 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:21:46,131 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:21:46,152 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:46,170 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:46,171 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:21:46,350 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:21:46,355 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:21:46,362 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:46,363 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:46,364 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 23 treesize of output 33 [2018-12-23 14:21:46,373 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:46,374 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:46,376 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:46,376 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 25 treesize of output 47 [2018-12-23 14:21:46,409 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:46,412 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:46,413 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:46,414 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:46,415 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 62 [2018-12-23 14:21:46,418 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:46,444 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:46,459 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:46,470 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:46,481 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:46,501 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 39 [2018-12-23 14:21:46,525 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:46,527 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:46,528 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 49 [2018-12-23 14:21:46,706 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:46,728 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:46,771 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:46,788 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:46,789 INFO L303 Elim1Store]: Index analysis took 118 ms [2018-12-23 14:21:46,789 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 57 [2018-12-23 14:21:46,846 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:46,847 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:46,848 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:46,849 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:46,850 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:46,852 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:46,853 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 37 [2018-12-23 14:21:46,855 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:46,870 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:46,885 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:46,901 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:46,935 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:46,935 INFO L202 ElimStorePlain]: Needed 10 recursive calls to eliminate 4 variables, input treesize:61, output treesize:62 [2018-12-23 14:21:46,943 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:46,943 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_150|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, |v_#valid_32|]. (let ((.cse1 (store (store |v_#valid_32| ULTIMATE.start_main_p1 1) 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) (= (store (store (store (store (store |v_#memory_int_150| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (= 0 (select .cse0 ULTIMATE.start_main_p4)) (= 0 (select .cse1 ULTIMATE.start_main_p3))))) [2018-12-23 14:21:46,943 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (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)) (= (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)) [2018-12-23 14:21:47,029 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:47,030 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 68 [2018-12-23 14:21:47,033 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:47,065 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:47,065 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:72, output treesize:46 [2018-12-23 14:21:49,547 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:49,547 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_151|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_151| ULTIMATE.start_main_p5))) (and (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)) (= 0 (select |v_#memory_int_151| ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_151| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_151| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (store |v_#memory_int_151| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_151| ULTIMATE.start_main_p1)) (= .cse0 0))) [2018-12-23 14:21:49,548 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (and (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_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)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:21:49,708 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:49,709 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:49,710 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:49,711 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:49,713 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:49,714 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:49,715 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:21:49,716 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 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 76 [2018-12-23 14:21:49,721 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:49,752 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:49,753 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:56, output treesize:38 [2018-12-23 14:21:49,773 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:49,773 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_152|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_152| ULTIMATE.start_main_p3))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (store |v_#memory_int_152| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_152| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_152| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_152| ULTIMATE.start_main_p5) 1) (= (select |v_#memory_int_152| ULTIMATE.start_main_p2) 0) (= 0 .cse0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) [2018-12-23 14:21:49,773 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:21:49,818 INFO L273 TraceCheckUtils]: 0: Hoare triple {9211#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {9219#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (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_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:21:49,820 INFO L273 TraceCheckUtils]: 1: Hoare triple {9219#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (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_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))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {9223#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| 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) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (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) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2018-12-23 14:21:49,822 INFO L273 TraceCheckUtils]: 2: Hoare triple {9223#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| 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) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (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) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {9227#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2018-12-23 14:21:49,823 INFO L273 TraceCheckUtils]: 3: Hoare triple {9227#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} assume #memory_int[main_p1] >= 0; {9227#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2018-12-23 14:21:49,824 INFO L273 TraceCheckUtils]: 4: Hoare triple {9227#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} assume !(#memory_int[main_p2] <= 0); {9212#false} is VALID [2018-12-23 14:21:49,825 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:49,825 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:21:49,872 INFO L273 TraceCheckUtils]: 4: Hoare triple {9234#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {9212#false} is VALID [2018-12-23 14:21:49,875 INFO L273 TraceCheckUtils]: 3: Hoare triple {9234#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {9234#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:21:49,876 INFO L273 TraceCheckUtils]: 2: Hoare triple {9241#(<= (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]; {9234#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:21:49,877 INFO L273 TraceCheckUtils]: 1: Hoare triple {9245#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {9241#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:21:49,879 INFO L273 TraceCheckUtils]: 0: Hoare triple {9211#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {9245#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:21:49,879 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:49,899 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:21:49,899 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:21:49,899 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:21:49,899 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-23 14:21:49,899 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:21:49,899 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:21:49,915 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:21:49,915 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:21:49,915 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:21:49,915 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=67, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:21:49,916 INFO L87 Difference]: Start difference. First operand 41 states and 140 transitions. Second operand 8 states. [2018-12-23 14:21:52,499 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:52,499 INFO L93 Difference]: Finished difference Result 71 states and 187 transitions. [2018-12-23 14:21:52,500 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-23 14:21:52,500 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-23 14:21:52,500 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:21:52,500 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:21:52,501 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2018-12-23 14:21:52,501 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:21:52,501 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2018-12-23 14:21:52,501 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 65 transitions. [2018-12-23 14:21:52,587 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:21:52,588 INFO L225 Difference]: With dead ends: 71 [2018-12-23 14:21:52,588 INFO L226 Difference]: Without dead ends: 68 [2018-12-23 14:21:52,589 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2018-12-23 14:21:52,589 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 68 states. [2018-12-23 14:21:53,513 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 68 to 46. [2018-12-23 14:21:53,513 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:21:53,513 INFO L82 GeneralOperation]: Start isEquivalent. First operand 68 states. Second operand 46 states. [2018-12-23 14:21:53,514 INFO L74 IsIncluded]: Start isIncluded. First operand 68 states. Second operand 46 states. [2018-12-23 14:21:53,514 INFO L87 Difference]: Start difference. First operand 68 states. Second operand 46 states. [2018-12-23 14:21:53,515 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:53,516 INFO L93 Difference]: Finished difference Result 68 states and 183 transitions. [2018-12-23 14:21:53,516 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 183 transitions. [2018-12-23 14:21:53,516 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:21:53,516 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:21:53,516 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 68 states. [2018-12-23 14:21:53,516 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 68 states. [2018-12-23 14:21:53,518 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:53,518 INFO L93 Difference]: Finished difference Result 68 states and 183 transitions. [2018-12-23 14:21:53,518 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 183 transitions. [2018-12-23 14:21:53,518 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:21:53,519 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:21:53,519 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:21:53,519 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:21:53,519 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 46 states. [2018-12-23 14:21:53,520 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 160 transitions. [2018-12-23 14:21:53,520 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 160 transitions. Word has length 5 [2018-12-23 14:21:53,520 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:21:53,520 INFO L480 AbstractCegarLoop]: Abstraction has 46 states and 160 transitions. [2018-12-23 14:21:53,520 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:21:53,520 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 160 transitions. [2018-12-23 14:21:53,520 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:21:53,520 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:21:53,520 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:21:53,521 INFO L423 AbstractCegarLoop]: === Iteration 30 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:21:53,521 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:21:53,521 INFO L82 PathProgramCache]: Analyzing trace with hash 28818276, now seen corresponding path program 1 times [2018-12-23 14:21:53,521 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:21:53,522 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:21:53,522 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:21:53,522 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:21:53,522 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:21:53,527 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:53,597 INFO L273 TraceCheckUtils]: 0: Hoare triple {9550#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {9552#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:21:53,598 INFO L273 TraceCheckUtils]: 1: Hoare triple {9552#(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]; {9552#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:21:53,599 INFO L273 TraceCheckUtils]: 2: Hoare triple {9552#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9553#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-23 14:21:53,599 INFO L273 TraceCheckUtils]: 3: Hoare triple {9553#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {9554#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:21:53,600 INFO L273 TraceCheckUtils]: 4: Hoare triple {9554#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {9551#false} is VALID [2018-12-23 14:21:53,600 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-23 14:21:53,600 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:21:53,601 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:21:53,601 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:21:53,601 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [24], [25] [2018-12-23 14:21:53,604 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:21:53,604 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:21:53,617 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:21:53,618 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 58 root evaluator evaluations with a maximum evaluation depth of 2. Performed 58 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:21:53,618 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:21:53,618 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:21:53,618 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:21:53,618 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 28 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 28 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:21:53,628 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:21:53,629 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:21:53,632 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:53,636 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:53,636 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:21:53,683 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:53,684 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 31 treesize of output 40 [2018-12-23 14:21:53,728 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:53,729 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:53,730 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 27 treesize of output 42 [2018-12-23 14:21:53,779 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:53,780 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:53,781 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:53,782 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:53,783 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 25 [2018-12-23 14:21:53,787 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:53,797 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:53,808 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:53,828 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:21:53,838 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 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 27 [2018-12-23 14:21:53,851 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 6 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:21:53,867 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:21:53,886 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:21:53,891 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:53,909 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:53,925 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:53,938 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:53,949 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:53,980 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:53,981 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 5 variables, input treesize:52, output treesize:50 [2018-12-23 14:21:53,991 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:53,992 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_155|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, |v_#valid_33|]. (let ((.cse1 (store |v_#valid_33| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p2 1))) (and (= (store (store (store (store (store |v_#memory_int_155| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (= 0 (select .cse0 ULTIMATE.start_main_p3)) (= (select (store .cse0 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4) 0) (= 0 (select .cse1 ULTIMATE.start_main_p2))))) [2018-12-23 14:21:53,992 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| 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)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:21:54,081 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:54,082 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 51 [2018-12-23 14:21:54,087 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:54,112 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:54,112 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:55, output treesize:33 [2018-12-23 14:21:54,178 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:54,178 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_156|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_156| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_156| ULTIMATE.start_main_p2)) (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)) (= (store |v_#memory_int_156| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_156| ULTIMATE.start_main_p4)) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_156| ULTIMATE.start_main_p3)))) [2018-12-23 14:21:54,179 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:21:54,239 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:54,240 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:54,241 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:54,242 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:54,243 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:54,244 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:54,245 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 65 [2018-12-23 14:21:54,255 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:54,281 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:54,281 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:43, output treesize:25 [2018-12-23 14:21:54,287 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:54,288 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_157|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_157| ULTIMATE.start_main_p2))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_157| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_157| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 1 (select |v_#memory_int_157| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_157| ULTIMATE.start_main_p4) 0) (= .cse0 0))) [2018-12-23 14:21:54,288 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:21:54,331 INFO L273 TraceCheckUtils]: 0: Hoare triple {9550#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {9558#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2018-12-23 14:21:54,332 INFO L273 TraceCheckUtils]: 1: Hoare triple {9558#(and (= (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_p1 := #memory_int[main_p1] + 1]; {9562#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-23 14:21:54,391 INFO L273 TraceCheckUtils]: 2: Hoare triple {9562#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_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))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9566#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-23 14:21:54,392 INFO L273 TraceCheckUtils]: 3: Hoare triple {9566#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 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; {9566#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-23 14:21:54,393 INFO L273 TraceCheckUtils]: 4: Hoare triple {9566#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 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); {9551#false} is VALID [2018-12-23 14:21:54,393 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:54,393 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:21:54,422 INFO L273 TraceCheckUtils]: 4: Hoare triple {9554#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {9551#false} is VALID [2018-12-23 14:21:54,422 INFO L273 TraceCheckUtils]: 3: Hoare triple {9554#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {9554#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:21:54,423 INFO L273 TraceCheckUtils]: 2: Hoare triple {9579#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9554#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:21:54,424 INFO L273 TraceCheckUtils]: 1: Hoare triple {9583#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {9579#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2018-12-23 14:21:54,426 INFO L273 TraceCheckUtils]: 0: Hoare triple {9550#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {9583#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2018-12-23 14:21:54,426 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:54,446 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:21:54,446 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2018-12-23 14:21:54,446 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:21:54,446 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-23 14:21:54,446 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:21:54,446 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:21:54,460 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:21:54,461 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:21:54,461 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:21:54,461 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=52, Unknown=0, NotChecked=0, Total=90 [2018-12-23 14:21:54,461 INFO L87 Difference]: Start difference. First operand 46 states and 160 transitions. Second operand 8 states. [2018-12-23 14:21:56,425 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:56,426 INFO L93 Difference]: Finished difference Result 73 states and 194 transitions. [2018-12-23 14:21:56,426 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-23 14:21:56,426 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-23 14:21:56,426 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:21:56,426 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:21:56,427 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 66 transitions. [2018-12-23 14:21:56,427 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:21:56,427 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 66 transitions. [2018-12-23 14:21:56,427 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 66 transitions. [2018-12-23 14:21:56,507 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:21:56,509 INFO L225 Difference]: With dead ends: 73 [2018-12-23 14:21:56,509 INFO L226 Difference]: Without dead ends: 72 [2018-12-23 14:21:56,510 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=53, Invalid=79, Unknown=0, NotChecked=0, Total=132 [2018-12-23 14:21:56,510 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2018-12-23 14:21:57,383 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 47. [2018-12-23 14:21:57,383 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:21:57,383 INFO L82 GeneralOperation]: Start isEquivalent. First operand 72 states. Second operand 47 states. [2018-12-23 14:21:57,383 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand 47 states. [2018-12-23 14:21:57,383 INFO L87 Difference]: Start difference. First operand 72 states. Second operand 47 states. [2018-12-23 14:21:57,384 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:57,385 INFO L93 Difference]: Finished difference Result 72 states and 192 transitions. [2018-12-23 14:21:57,385 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 192 transitions. [2018-12-23 14:21:57,385 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:21:57,385 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:21:57,385 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 72 states. [2018-12-23 14:21:57,385 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 72 states. [2018-12-23 14:21:57,387 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:21:57,387 INFO L93 Difference]: Finished difference Result 72 states and 192 transitions. [2018-12-23 14:21:57,388 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 192 transitions. [2018-12-23 14:21:57,388 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:21:57,388 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:21:57,388 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:21:57,388 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:21:57,388 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 47 states. [2018-12-23 14:21:57,389 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 166 transitions. [2018-12-23 14:21:57,389 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 166 transitions. Word has length 5 [2018-12-23 14:21:57,390 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:21:57,390 INFO L480 AbstractCegarLoop]: Abstraction has 47 states and 166 transitions. [2018-12-23 14:21:57,390 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:21:57,390 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 166 transitions. [2018-12-23 14:21:57,390 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:21:57,390 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:21:57,390 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:21:57,391 INFO L423 AbstractCegarLoop]: === Iteration 31 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:21:57,391 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:21:57,391 INFO L82 PathProgramCache]: Analyzing trace with hash 28822120, now seen corresponding path program 1 times [2018-12-23 14:21:57,391 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:21:57,392 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:21:57,392 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:21:57,392 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:21:57,392 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:21:57,395 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:57,555 INFO L273 TraceCheckUtils]: 0: Hoare triple {9903#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {9905#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:21:57,556 INFO L273 TraceCheckUtils]: 1: Hoare triple {9905#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {9906#(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_p2)))} is VALID [2018-12-23 14:21:57,557 INFO L273 TraceCheckUtils]: 2: Hoare triple {9906#(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_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {9907#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-23 14:21:57,558 INFO L273 TraceCheckUtils]: 3: Hoare triple {9907#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {9908#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:21:57,559 INFO L273 TraceCheckUtils]: 4: Hoare triple {9908#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {9904#false} is VALID [2018-12-23 14:21:57,559 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:21:57,559 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:21:57,559 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:21:57,560 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:21:57,560 INFO L207 CegarAbsIntRunner]: [0], [6], [14], [24], [25] [2018-12-23 14:21:57,561 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:21:57,561 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:21:57,571 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:21:57,571 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 58 root evaluator evaluations with a maximum evaluation depth of 2. Performed 58 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:21:57,572 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:21:57,572 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:21:57,572 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:21:57,572 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 29 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 29 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:21:57,581 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:21:57,581 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:21:57,585 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:57,588 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:21:57,589 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:21:57,625 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 18 treesize of output 21 [2018-12-23 14:21:57,631 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:21:57,639 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:57,641 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:57,641 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:21:57,652 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:57,653 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:57,654 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:57,655 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:21:57,674 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:21:57,678 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:57,699 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:57,715 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:57,728 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:57,739 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:57,765 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:57,765 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 40 [2018-12-23 14:21:57,808 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:57,809 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:57,810 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 27 treesize of output 42 [2018-12-23 14:21:57,864 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:57,866 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:57,867 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:57,868 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:57,868 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 25 [2018-12-23 14:21:57,871 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:57,881 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:57,891 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:21:57,917 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:57,917 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 4 variables, input treesize:52, output treesize:50 [2018-12-23 14:21:57,924 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:21:57,924 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_160|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, |v_#valid_34|]. (let ((.cse1 (store |v_#valid_34| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p2 1))) (and (= (store (store (store (store (store |v_#memory_int_160| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (= (select .cse0 ULTIMATE.start_main_p3) 0) (= 0 (select .cse1 ULTIMATE.start_main_p2)) (= 0 (select (store .cse0 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4))))) [2018-12-23 14:21:57,924 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (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_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) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:21:58,006 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:21:58,008 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 51 [2018-12-23 14:21:58,011 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:21:58,033 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:21:58,033 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:55, output treesize:33 [2018-12-23 14:22:00,407 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:00,407 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_161|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_161| ULTIMATE.start_main_p1))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (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)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (store |v_#memory_int_161| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_161| ULTIMATE.start_main_p3) 0))) [2018-12-23 14:22:00,407 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, 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_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:22:00,498 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:00,499 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:00,500 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:00,501 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:00,502 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:00,502 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:22:00,503 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 59 [2018-12-23 14:22:00,506 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:00,528 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:22:00,529 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:43, output treesize:29 [2018-12-23 14:22:02,534 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:02,534 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_162|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_162| ULTIMATE.start_main_p3))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 1 (select |v_#memory_int_162| ULTIMATE.start_main_p1)) (= 0 .cse0) (= 0 (select |v_#memory_int_162| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (store |v_#memory_int_162| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_162| ULTIMATE.start_main_p4) 0))) [2018-12-23 14:22:02,534 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:22:02,578 INFO L273 TraceCheckUtils]: 0: Hoare triple {9903#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {9912#(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)) (exists ((ULTIMATE.start_main_p4 Int)) (and (not (= ULTIMATE.start_main_p3 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_p1 ULTIMATE.start_main_p4)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:22:02,580 INFO L273 TraceCheckUtils]: 1: Hoare triple {9912#(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)) (exists ((ULTIMATE.start_main_p4 Int)) (and (not (= ULTIMATE.start_main_p3 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_p1 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_p1 := #memory_int[main_p1] + 1]; {9916#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:22:02,581 INFO L273 TraceCheckUtils]: 2: Hoare triple {9916#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 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]; {9920#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))))} is VALID [2018-12-23 14:22:02,582 INFO L273 TraceCheckUtils]: 3: Hoare triple {9920#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))))} assume #memory_int[main_p1] >= 0; {9920#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))))} is VALID [2018-12-23 14:22:02,583 INFO L273 TraceCheckUtils]: 4: Hoare triple {9920#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))))} assume !(#memory_int[main_p2] <= 0); {9904#false} is VALID [2018-12-23 14:22:02,583 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:22:02,584 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:22:02,631 INFO L273 TraceCheckUtils]: 4: Hoare triple {9927#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {9904#false} is VALID [2018-12-23 14:22:02,632 INFO L273 TraceCheckUtils]: 3: Hoare triple {9927#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {9927#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:22:02,633 INFO L273 TraceCheckUtils]: 2: Hoare triple {9934#(<= (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]; {9927#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:22:02,634 INFO L273 TraceCheckUtils]: 1: Hoare triple {9938#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {9934#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:22:02,636 INFO L273 TraceCheckUtils]: 0: Hoare triple {9903#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {9938#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:22:02,637 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:22:02,656 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:22:02,656 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 3, 3] total 10 [2018-12-23 14:22:02,656 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:22:02,656 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 5 [2018-12-23 14:22:02,656 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:22:02,657 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-12-23 14:22:02,671 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:22:02,671 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-12-23 14:22:02,671 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-12-23 14:22:02,671 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=48, Invalid=84, Unknown=0, NotChecked=0, Total=132 [2018-12-23 14:22:02,672 INFO L87 Difference]: Start difference. First operand 47 states and 166 transitions. Second operand 9 states. [2018-12-23 14:22:05,318 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:22:05,318 INFO L93 Difference]: Finished difference Result 66 states and 193 transitions. [2018-12-23 14:22:05,318 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-23 14:22:05,318 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 5 [2018-12-23 14:22:05,318 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:22:05,318 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-12-23 14:22:05,319 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 53 transitions. [2018-12-23 14:22:05,319 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-12-23 14:22:05,320 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 53 transitions. [2018-12-23 14:22:05,320 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 53 transitions. [2018-12-23 14:22:05,389 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:22:05,391 INFO L225 Difference]: With dead ends: 66 [2018-12-23 14:22:05,391 INFO L226 Difference]: Without dead ends: 65 [2018-12-23 14:22:05,391 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 34 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=68, Invalid=114, Unknown=0, NotChecked=0, Total=182 [2018-12-23 14:22:05,392 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states. [2018-12-23 14:22:06,844 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 48. [2018-12-23 14:22:06,844 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:22:06,845 INFO L82 GeneralOperation]: Start isEquivalent. First operand 65 states. Second operand 48 states. [2018-12-23 14:22:06,845 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand 48 states. [2018-12-23 14:22:06,845 INFO L87 Difference]: Start difference. First operand 65 states. Second operand 48 states. [2018-12-23 14:22:06,846 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:22:06,846 INFO L93 Difference]: Finished difference Result 65 states and 191 transitions. [2018-12-23 14:22:06,847 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 191 transitions. [2018-12-23 14:22:06,847 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:22:06,847 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:22:06,847 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 65 states. [2018-12-23 14:22:06,847 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 65 states. [2018-12-23 14:22:06,848 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:22:06,848 INFO L93 Difference]: Finished difference Result 65 states and 191 transitions. [2018-12-23 14:22:06,849 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 191 transitions. [2018-12-23 14:22:06,849 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:22:06,849 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:22:06,849 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:22:06,849 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:22:06,849 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 48 states. [2018-12-23 14:22:06,850 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 172 transitions. [2018-12-23 14:22:06,851 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 172 transitions. Word has length 5 [2018-12-23 14:22:06,851 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:22:06,851 INFO L480 AbstractCegarLoop]: Abstraction has 48 states and 172 transitions. [2018-12-23 14:22:06,851 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-12-23 14:22:06,851 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 172 transitions. [2018-12-23 14:22:06,851 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:22:06,851 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:22:06,852 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:22:06,852 INFO L423 AbstractCegarLoop]: === Iteration 32 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:22:06,852 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:22:06,852 INFO L82 PathProgramCache]: Analyzing trace with hash 28950958, now seen corresponding path program 1 times [2018-12-23 14:22:06,852 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:22:06,853 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:22:06,853 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:22:06,853 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:22:06,853 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:22:06,857 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:22:06,999 INFO L273 TraceCheckUtils]: 0: Hoare triple {10240#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {10242#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:22:07,000 INFO L273 TraceCheckUtils]: 1: Hoare triple {10242#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {10242#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:22:07,001 INFO L273 TraceCheckUtils]: 2: Hoare triple {10242#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} assume #memory_int[main_p1] >= 0; {10242#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:22:07,002 INFO L273 TraceCheckUtils]: 3: Hoare triple {10242#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} assume #memory_int[main_p2] <= 0; {10243#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-23 14:22:07,002 INFO L273 TraceCheckUtils]: 4: Hoare triple {10243#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {10241#false} is VALID [2018-12-23 14:22:07,003 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-23 14:22:07,003 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-12-23 14:22:07,003 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-12-23 14:22:07,003 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-23 14:22:07,003 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 5 [2018-12-23 14:22:07,004 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:22:07,004 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-12-23 14:22:07,010 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 5 edges. 5 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:22:07,010 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-12-23 14:22:07,010 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-12-23 14:22:07,010 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-12-23 14:22:07,011 INFO L87 Difference]: Start difference. First operand 48 states and 172 transitions. Second operand 4 states. [2018-12-23 14:22:08,894 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:22:08,895 INFO L93 Difference]: Finished difference Result 54 states and 182 transitions. [2018-12-23 14:22:08,895 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-12-23 14:22:08,895 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 5 [2018-12-23 14:22:08,895 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:22:08,895 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-23 14:22:08,896 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 24 transitions. [2018-12-23 14:22:08,896 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2018-12-23 14:22:08,896 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 24 transitions. [2018-12-23 14:22:08,897 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 24 transitions. [2018-12-23 14:22:08,918 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:22:08,919 INFO L225 Difference]: With dead ends: 54 [2018-12-23 14:22:08,919 INFO L226 Difference]: Without dead ends: 51 [2018-12-23 14:22:08,920 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 0 SyntacticMatches, 1 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2018-12-23 14:22:08,920 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 51 states. [2018-12-23 14:22:10,035 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 51 to 47. [2018-12-23 14:22:10,036 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:22:10,036 INFO L82 GeneralOperation]: Start isEquivalent. First operand 51 states. Second operand 47 states. [2018-12-23 14:22:10,036 INFO L74 IsIncluded]: Start isIncluded. First operand 51 states. Second operand 47 states. [2018-12-23 14:22:10,036 INFO L87 Difference]: Start difference. First operand 51 states. Second operand 47 states. [2018-12-23 14:22:10,038 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:22:10,038 INFO L93 Difference]: Finished difference Result 51 states and 178 transitions. [2018-12-23 14:22:10,038 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 178 transitions. [2018-12-23 14:22:10,038 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:22:10,038 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:22:10,039 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand 51 states. [2018-12-23 14:22:10,039 INFO L87 Difference]: Start difference. First operand 47 states. Second operand 51 states. [2018-12-23 14:22:10,040 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:22:10,040 INFO L93 Difference]: Finished difference Result 51 states and 178 transitions. [2018-12-23 14:22:10,040 INFO L276 IsEmpty]: Start isEmpty. Operand 51 states and 178 transitions. [2018-12-23 14:22:10,040 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:22:10,040 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:22:10,040 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:22:10,040 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:22:10,041 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 47 states. [2018-12-23 14:22:10,041 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 175 transitions. [2018-12-23 14:22:10,041 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 175 transitions. Word has length 5 [2018-12-23 14:22:10,042 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:22:10,042 INFO L480 AbstractCegarLoop]: Abstraction has 47 states and 175 transitions. [2018-12-23 14:22:10,042 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2018-12-23 14:22:10,042 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 175 transitions. [2018-12-23 14:22:10,042 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2018-12-23 14:22:10,042 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:22:10,042 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2018-12-23 14:22:10,042 INFO L423 AbstractCegarLoop]: === Iteration 33 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:22:10,042 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:22:10,043 INFO L82 PathProgramCache]: Analyzing trace with hash 28941284, now seen corresponding path program 1 times [2018-12-23 14:22:10,043 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:22:10,043 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:22:10,043 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:22:10,043 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:22:10,044 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:22:10,046 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:22:10,380 WARN L181 SmtUtils]: Spent 162.00 ms on a formula simplification. DAG size of input: 12 DAG size of output: 9 [2018-12-23 14:22:10,866 INFO L273 TraceCheckUtils]: 0: Hoare triple {10501#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {10503#(and (<= (select |#memory_int| ULTIMATE.start_main_p2) 1) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:22:10,875 INFO L273 TraceCheckUtils]: 1: Hoare triple {10503#(and (<= (select |#memory_int| ULTIMATE.start_main_p2) 1) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {10504#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0))} is VALID [2018-12-23 14:22:10,888 INFO L273 TraceCheckUtils]: 2: Hoare triple {10504#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (<= (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]; {10505#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:22:10,900 INFO L273 TraceCheckUtils]: 3: Hoare triple {10505#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {10505#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:22:10,908 INFO L273 TraceCheckUtils]: 4: Hoare triple {10505#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {10502#false} is VALID [2018-12-23 14:22:10,908 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:22:10,908 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:22:10,908 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:22:10,909 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2018-12-23 14:22:10,909 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [24], [25] [2018-12-23 14:22:10,910 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:22:10,910 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:22:10,974 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:22:10,974 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 58 root evaluator evaluations with a maximum evaluation depth of 2. Performed 58 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:22:10,975 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:22:10,975 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:22:10,975 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:22:10,975 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 30 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 30 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:22:10,991 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:22:10,991 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:22:11,009 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:22:11,022 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:22:11,022 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:22:11,172 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 26 treesize of output 25 [2018-12-23 14:22:11,243 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:11,245 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:11,246 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 22 treesize of output 38 [2018-12-23 14:22:11,288 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:11,289 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:11,291 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:11,292 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:11,293 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 21 [2018-12-23 14:22:11,296 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:11,306 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:11,316 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:11,331 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:22:11,340 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 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 23 [2018-12-23 14:22:11,353 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 5 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 33 [2018-12-23 14:22:11,368 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 25 treesize of output 47 [2018-12-23 14:22:11,387 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 5 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 46 [2018-12-23 14:22:11,392 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:11,410 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:11,424 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:11,435 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:11,447 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:11,472 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:22:11,472 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 5 variables, input treesize:44, output treesize:46 [2018-12-23 14:22:11,480 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:11,481 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_165|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, |v_#valid_35|]. (let ((.cse0 (store (store |v_#valid_35| ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2 1))) (and (= (store (store (store (store (store |v_#memory_int_165| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (= (select .cse0 ULTIMATE.start_main_p3) 0) (= (select (store .cse0 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4) 0))) [2018-12-23 14:22:11,481 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| 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)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:22:11,581 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:11,589 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 31 treesize of output 51 [2018-12-23 14:22:11,594 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 2 xjuncts. [2018-12-23 14:22:11,655 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 2 xjuncts. [2018-12-23 14:22:11,656 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:51, output treesize:62 [2018-12-23 14:22:11,664 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:11,665 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_166|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_166| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_166| ULTIMATE.start_main_p4)) (= (store |v_#memory_int_166| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_166| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= .cse0 0) (= (select |v_#memory_int_166| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) [2018-12-23 14:22:11,665 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, v_prenex_71]. (let ((.cse0 (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2))) (.cse1 (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (or (and (not (= ULTIMATE.start_main_p3 v_prenex_71)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) .cse0 (not (= ULTIMATE.start_main_p2 v_prenex_71)) .cse1 (= (select |#memory_int| v_prenex_71) 0)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) .cse0 (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) .cse1 (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4))))) [2018-12-23 14:22:11,726 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:11,727 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:11,728 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:11,729 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:11,730 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 50 [2018-12-23 14:22:11,733 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:11,752 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:22:11,752 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:36, output treesize:18 [2018-12-23 14:22:14,395 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:14,396 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_167|, ULTIMATE.start_main_p3, v_prenex_71]. (let ((.cse0 (select |v_#memory_int_167| ULTIMATE.start_main_p3))) (and (= .cse0 0) (not (= ULTIMATE.start_main_p2 v_prenex_71)) (= 0 (+ (select |v_#memory_int_167| ULTIMATE.start_main_p2) 1)) (= (select |v_#memory_int_167| v_prenex_71) 0) (= (store |v_#memory_int_167| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p3 v_prenex_71)))) [2018-12-23 14:22:14,396 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_71, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| v_prenex_71)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-23 14:22:14,518 INFO L273 TraceCheckUtils]: 0: Hoare triple {10501#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {10509#(and (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) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (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) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2018-12-23 14:22:14,520 INFO L273 TraceCheckUtils]: 1: Hoare triple {10509#(and (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) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (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) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {10513#(and (exists ((v_prenex_71 Int)) (and (not (= ULTIMATE.start_main_p2 v_prenex_71)) (= (select |#memory_int| v_prenex_71) 0) (not (= ULTIMATE.start_main_p3 v_prenex_71)))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:22:14,521 INFO L273 TraceCheckUtils]: 2: Hoare triple {10513#(and (exists ((v_prenex_71 Int)) (and (not (= ULTIMATE.start_main_p2 v_prenex_71)) (= (select |#memory_int| v_prenex_71) 0) (not (= ULTIMATE.start_main_p3 v_prenex_71)))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {10517#(and (exists ((v_prenex_71 Int)) (= 0 (select |#memory_int| v_prenex_71))) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:22:14,522 INFO L273 TraceCheckUtils]: 3: Hoare triple {10517#(and (exists ((v_prenex_71 Int)) (= 0 (select |#memory_int| v_prenex_71))) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {10517#(and (exists ((v_prenex_71 Int)) (= 0 (select |#memory_int| v_prenex_71))) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:22:14,523 INFO L273 TraceCheckUtils]: 4: Hoare triple {10517#(and (exists ((v_prenex_71 Int)) (= 0 (select |#memory_int| v_prenex_71))) (exists ((ULTIMATE.start_main_p3 Int)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {10502#false} is VALID [2018-12-23 14:22:14,523 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:22:14,524 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:22:14,555 INFO L273 TraceCheckUtils]: 4: Hoare triple {10505#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {10502#false} is VALID [2018-12-23 14:22:14,556 INFO L273 TraceCheckUtils]: 3: Hoare triple {10505#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {10505#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:22:14,557 INFO L273 TraceCheckUtils]: 2: Hoare triple {10530#(<= (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]; {10505#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:22:14,558 INFO L273 TraceCheckUtils]: 1: Hoare triple {10534#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {10530#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:22:14,560 INFO L273 TraceCheckUtils]: 0: Hoare triple {10501#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {10534#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:22:14,560 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:22:14,580 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:22:14,580 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2018-12-23 14:22:14,580 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:22:14,581 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-23 14:22:14,581 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:22:14,581 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:22:14,596 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:22:14,596 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:22:14,597 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:22:14,597 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=52, Unknown=0, NotChecked=0, Total=90 [2018-12-23 14:22:14,597 INFO L87 Difference]: Start difference. First operand 47 states and 175 transitions. Second operand 8 states. [2018-12-23 14:22:17,597 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:22:17,597 INFO L93 Difference]: Finished difference Result 83 states and 276 transitions. [2018-12-23 14:22:17,598 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-23 14:22:17,598 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2018-12-23 14:22:17,598 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:22:17,598 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:22:17,599 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 58 transitions. [2018-12-23 14:22:17,599 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:22:17,599 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 58 transitions. [2018-12-23 14:22:17,599 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 58 transitions. [2018-12-23 14:22:17,668 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:22:17,670 INFO L225 Difference]: With dead ends: 83 [2018-12-23 14:22:17,670 INFO L226 Difference]: Without dead ends: 82 [2018-12-23 14:22:17,671 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=46, Invalid=64, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:22:17,671 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 82 states. [2018-12-23 14:22:19,296 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 82 to 58. [2018-12-23 14:22:19,296 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:22:19,296 INFO L82 GeneralOperation]: Start isEquivalent. First operand 82 states. Second operand 58 states. [2018-12-23 14:22:19,296 INFO L74 IsIncluded]: Start isIncluded. First operand 82 states. Second operand 58 states. [2018-12-23 14:22:19,296 INFO L87 Difference]: Start difference. First operand 82 states. Second operand 58 states. [2018-12-23 14:22:19,298 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:22:19,298 INFO L93 Difference]: Finished difference Result 82 states and 274 transitions. [2018-12-23 14:22:19,298 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 274 transitions. [2018-12-23 14:22:19,299 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:22:19,299 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:22:19,299 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 82 states. [2018-12-23 14:22:19,299 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 82 states. [2018-12-23 14:22:19,301 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:22:19,301 INFO L93 Difference]: Finished difference Result 82 states and 274 transitions. [2018-12-23 14:22:19,301 INFO L276 IsEmpty]: Start isEmpty. Operand 82 states and 274 transitions. [2018-12-23 14:22:19,302 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:22:19,302 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:22:19,302 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:22:19,302 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:22:19,302 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 58 states. [2018-12-23 14:22:19,303 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 58 states to 58 states and 241 transitions. [2018-12-23 14:22:19,304 INFO L78 Accepts]: Start accepts. Automaton has 58 states and 241 transitions. Word has length 5 [2018-12-23 14:22:19,304 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:22:19,304 INFO L480 AbstractCegarLoop]: Abstraction has 58 states and 241 transitions. [2018-12-23 14:22:19,304 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:22:19,304 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 241 transitions. [2018-12-23 14:22:19,304 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:22:19,304 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:22:19,305 INFO L402 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1] [2018-12-23 14:22:19,305 INFO L423 AbstractCegarLoop]: === Iteration 34 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:22:19,305 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:22:19,305 INFO L82 PathProgramCache]: Analyzing trace with hash 904687194, now seen corresponding path program 1 times [2018-12-23 14:22:19,305 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:22:19,306 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:22:19,306 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:22:19,306 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:22:19,306 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:22:19,310 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:22:19,418 INFO L273 TraceCheckUtils]: 0: Hoare triple {10920#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {10922#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select (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_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:22:19,419 INFO L273 TraceCheckUtils]: 1: Hoare triple {10922#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select (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_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {10922#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select (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_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:22:19,420 INFO L273 TraceCheckUtils]: 2: Hoare triple {10922#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select (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_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {10923#(and (= (select |#memory_int| ULTIMATE.start_main_p2) (select |#memory_int| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-23 14:22:19,421 INFO L273 TraceCheckUtils]: 3: Hoare triple {10923#(and (= (select |#memory_int| ULTIMATE.start_main_p2) (select |#memory_int| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {10923#(and (= (select |#memory_int| ULTIMATE.start_main_p2) (select |#memory_int| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-23 14:22:19,422 INFO L273 TraceCheckUtils]: 4: Hoare triple {10923#(and (= (select |#memory_int| ULTIMATE.start_main_p2) (select |#memory_int| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p2] <= 0; {10924#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:22:19,422 INFO L273 TraceCheckUtils]: 5: Hoare triple {10924#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {10921#false} is VALID [2018-12-23 14:22:19,423 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-23 14:22:19,423 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:22:19,423 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:22:19,423 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-23 14:22:19,423 INFO L207 CegarAbsIntRunner]: [0], [18], [24], [26], [27] [2018-12-23 14:22:19,424 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:22:19,424 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:22:19,482 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:22:19,482 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 58 root evaluator evaluations with a maximum evaluation depth of 2. Performed 58 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-23 14:22:19,483 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:22:19,483 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:22:19,483 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:22:19,483 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 31 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 31 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:22:19,493 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:22:19,493 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:22:19,497 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:22:19,500 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:22:19,501 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:22:19,517 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 26 treesize of output 25 [2018-12-23 14:22:19,546 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:19,548 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:19,549 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 22 treesize of output 38 [2018-12-23 14:22:19,592 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:19,594 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:19,597 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:19,599 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:19,599 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 21 [2018-12-23 14:22:19,602 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:19,615 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:19,628 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:19,648 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 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 18 treesize of output 21 [2018-12-23 14:22:19,658 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 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 23 [2018-12-23 14:22:19,669 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 5 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 33 [2018-12-23 14:22:19,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, 5 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 47 [2018-12-23 14:22:19,721 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 5 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 46 [2018-12-23 14:22:19,725 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:19,743 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:19,758 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:19,769 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:19,781 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:19,804 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:22:19,804 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 5 variables, input treesize:44, output treesize:46 [2018-12-23 14:22:19,812 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:19,812 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_170|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, |v_#valid_36|]. (let ((.cse0 (store (store |v_#valid_36| ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2 1))) (and (= |#memory_int| (store (store (store (store (store |v_#memory_int_170| 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)) (= 0 (select (store .cse0 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4)) (= 0 (select .cse0 ULTIMATE.start_main_p3)))) [2018-12-23 14:22:19,812 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| 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)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:22:19,868 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:19,869 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 28 [2018-12-23 14:22:19,872 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:19,885 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:22:19,886 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:38, output treesize:20 [2018-12-23 14:22:19,890 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:19,890 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_171|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_171| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_171| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (store |v_#memory_int_171| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_171| ULTIMATE.start_main_p3)) (= 0 .cse0))) [2018-12-23 14:22:19,890 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:22:19,928 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:19,930 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:19,931 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:19,932 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:19,933 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:19,933 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 40 [2018-12-23 14:22:19,936 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:19,952 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:22:19,952 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:20 [2018-12-23 14:22:19,964 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:19,964 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_172|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_172| ULTIMATE.start_main_p4))) (and (= 0 (+ .cse0 1)) (= 0 (select |v_#memory_int_172| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_172| ULTIMATE.start_main_p2)) (= (store |v_#memory_int_172| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|))) [2018-12-23 14:22:19,964 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:22:20,014 INFO L273 TraceCheckUtils]: 0: Hoare triple {10920#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {10928#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:22:20,015 INFO L273 TraceCheckUtils]: 1: Hoare triple {10928#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 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]; {10932#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:22:20,017 INFO L273 TraceCheckUtils]: 2: Hoare triple {10932#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {10936#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:22:20,018 INFO L273 TraceCheckUtils]: 3: Hoare triple {10936#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p1] >= 0; {10936#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:22:20,019 INFO L273 TraceCheckUtils]: 4: Hoare triple {10936#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p2] <= 0; {10936#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:22:20,019 INFO L273 TraceCheckUtils]: 5: Hoare triple {10936#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume !(#memory_int[main_p3] >= 0); {10921#false} is VALID [2018-12-23 14:22:20,020 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:22:20,020 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:22:20,059 INFO L273 TraceCheckUtils]: 5: Hoare triple {10924#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {10921#false} is VALID [2018-12-23 14:22:20,060 INFO L273 TraceCheckUtils]: 4: Hoare triple {10924#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {10924#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:22:20,060 INFO L273 TraceCheckUtils]: 3: Hoare triple {10924#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {10924#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:22:20,061 INFO L273 TraceCheckUtils]: 2: Hoare triple {10955#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {10924#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:22:20,062 INFO L273 TraceCheckUtils]: 1: Hoare triple {10959#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {10955#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:22:20,064 INFO L273 TraceCheckUtils]: 0: Hoare triple {10920#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {10959#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:22:20,064 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:22:20,084 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:22:20,084 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2018-12-23 14:22:20,085 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:22:20,085 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-23 14:22:20,085 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:22:20,085 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:22:20,099 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:22:20,100 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:22:20,100 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:22:20,100 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=58, Unknown=0, NotChecked=0, Total=90 [2018-12-23 14:22:20,100 INFO L87 Difference]: Start difference. First operand 58 states and 241 transitions. Second operand 8 states. [2018-12-23 14:22:23,737 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:22:23,737 INFO L93 Difference]: Finished difference Result 86 states and 325 transitions. [2018-12-23 14:22:23,737 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-23 14:22:23,737 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-23 14:22:23,737 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:22:23,737 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:22:23,738 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 54 transitions. [2018-12-23 14:22:23,738 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:22:23,738 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 54 transitions. [2018-12-23 14:22:23,738 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 54 transitions. [2018-12-23 14:22:23,802 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:22:23,803 INFO L225 Difference]: With dead ends: 86 [2018-12-23 14:22:23,804 INFO L226 Difference]: Without dead ends: 85 [2018-12-23 14:22:23,804 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=56, Invalid=100, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:22:23,804 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 85 states. [2018-12-23 14:22:26,361 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 85 to 66. [2018-12-23 14:22:26,362 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:22:26,362 INFO L82 GeneralOperation]: Start isEquivalent. First operand 85 states. Second operand 66 states. [2018-12-23 14:22:26,362 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand 66 states. [2018-12-23 14:22:26,362 INFO L87 Difference]: Start difference. First operand 85 states. Second operand 66 states. [2018-12-23 14:22:26,364 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:22:26,364 INFO L93 Difference]: Finished difference Result 85 states and 321 transitions. [2018-12-23 14:22:26,364 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 321 transitions. [2018-12-23 14:22:26,364 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:22:26,364 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:22:26,364 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand 85 states. [2018-12-23 14:22:26,365 INFO L87 Difference]: Start difference. First operand 66 states. Second operand 85 states. [2018-12-23 14:22:26,366 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:22:26,367 INFO L93 Difference]: Finished difference Result 85 states and 321 transitions. [2018-12-23 14:22:26,367 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 321 transitions. [2018-12-23 14:22:26,367 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:22:26,367 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:22:26,367 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:22:26,367 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:22:26,367 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 66 states. [2018-12-23 14:22:26,369 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 289 transitions. [2018-12-23 14:22:26,369 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 289 transitions. Word has length 6 [2018-12-23 14:22:26,369 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:22:26,369 INFO L480 AbstractCegarLoop]: Abstraction has 66 states and 289 transitions. [2018-12-23 14:22:26,370 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:22:26,370 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 289 transitions. [2018-12-23 14:22:26,370 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:22:26,370 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:22:26,370 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:22:26,371 INFO L423 AbstractCegarLoop]: === Iteration 35 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:22:26,371 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:22:26,371 INFO L82 PathProgramCache]: Analyzing trace with hash 904729414, now seen corresponding path program 1 times [2018-12-23 14:22:26,371 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:22:26,371 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:22:26,372 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:22:26,372 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:22:26,372 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:22:26,375 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:22:26,491 INFO L273 TraceCheckUtils]: 0: Hoare triple {11383#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {11385#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:22:26,492 INFO L273 TraceCheckUtils]: 1: Hoare triple {11385#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11386#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:22:26,493 INFO L273 TraceCheckUtils]: 2: Hoare triple {11386#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {11387#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:22:26,494 INFO L273 TraceCheckUtils]: 3: Hoare triple {11387#(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]; {11387#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:22:26,494 INFO L273 TraceCheckUtils]: 4: Hoare triple {11387#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {11388#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:22:26,494 INFO L273 TraceCheckUtils]: 5: Hoare triple {11388#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {11384#false} is VALID [2018-12-23 14:22:26,495 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-23 14:22:26,495 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:22:26,495 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:22:26,495 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-23 14:22:26,496 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [20], [24], [25] [2018-12-23 14:22:26,497 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:22:26,497 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:22:26,510 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:22:26,510 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 60 root evaluator evaluations with a maximum evaluation depth of 2. Performed 60 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-23 14:22:26,511 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:22:26,511 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:22:26,511 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:22:26,511 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 32 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 32 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:22:26,519 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:22:26,519 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:22:26,523 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:22:26,526 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:22:26,527 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:22:26,582 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:26,583 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-23 14:22:26,643 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:26,644 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:26,645 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-23 14:22:26,707 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:26,709 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:26,710 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:26,711 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:26,712 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-23 14:22:26,788 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:26,790 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:26,791 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:26,792 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:26,793 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:26,794 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:26,795 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-23 14:22:26,799 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:26,817 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:26,835 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:26,855 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:26,885 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 4 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:22:26,896 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 21 treesize of output 27 [2018-12-23 14:22:26,912 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 23 treesize of output 37 [2018-12-23 14:22:26,931 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 25 treesize of output 51 [2018-12-23 14:22:26,953 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:22:26,966 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:26,994 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:27,010 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:27,024 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:27,037 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:27,073 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 2 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:22:27,074 INFO L202 ElimStorePlain]: Needed 10 recursive calls to eliminate 3 variables, input treesize:69, output treesize:66 [2018-12-23 14:22:27,082 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:27,082 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_175|, ULTIMATE.start_main_p3, |v_#valid_37|]. (let ((.cse1 (store |v_#valid_37| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse1 ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse2 ULTIMATE.start_main_p3 1))) (and (= 0 (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= (select .cse1 ULTIMATE.start_main_p2) 0) (= (store (store (store (store (store |v_#memory_int_175| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (= (select .cse2 ULTIMATE.start_main_p3) 0) (= (select .cse0 ULTIMATE.start_main_p4) 0))))) [2018-12-23 14:22:27,082 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [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)) (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)) [2018-12-23 14:22:27,296 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:27,297 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2018-12-23 14:22:27,304 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:27,352 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:22:27,352 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:76, output treesize:50 [2018-12-23 14:22:29,886 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:29,886 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_176|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_176| ULTIMATE.start_main_p4))) (and (= 0 (select |v_#memory_int_176| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_176| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= 0 .cse0) (= (select |v_#memory_int_176| ULTIMATE.start_main_p5) 0) (= 0 (select |v_#memory_int_176| ULTIMATE.start_main_p2)) (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)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_176| ULTIMATE.start_main_p3)))) [2018-12-23 14:22:29,887 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:22:30,041 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:30,042 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:30,044 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:30,045 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:30,046 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:30,047 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:30,048 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:30,049 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 80 [2018-12-23 14:22:30,056 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:30,093 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:22:30,093 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:62, output treesize:40 [2018-12-23 14:22:32,051 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:32,051 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_177|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_177| 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)) (= 0 (select |v_#memory_int_177| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_177| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_177| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (+ (select |v_#memory_int_177| ULTIMATE.start_main_p4) 1)) (= |#memory_int| (store |v_#memory_int_177| ULTIMATE.start_main_p5 (+ .cse0 1))) (= 0 .cse0))) [2018-12-23 14:22:32,051 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:22:32,138 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:32,139 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:32,140 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:32,141 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:32,142 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:32,143 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:32,145 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:32,146 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:32,147 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:32,148 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:32,149 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:32,149 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:22:32,150 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 94 [2018-12-23 14:22:32,157 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:32,197 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:22:32,198 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:36 [2018-12-23 14:22:32,224 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:32,224 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_178|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_178| ULTIMATE.start_main_p1))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 1 (select |v_#memory_int_178| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_178| ULTIMATE.start_main_p3) 0) (= (+ (select |v_#memory_int_178| ULTIMATE.start_main_p4) 1) 0) (= (store |v_#memory_int_178| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (= (select |v_#memory_int_178| ULTIMATE.start_main_p2) 0))) [2018-12-23 14:22:32,224 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:22:32,294 INFO L273 TraceCheckUtils]: 0: Hoare triple {11383#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {11392#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:22:32,296 INFO L273 TraceCheckUtils]: 1: Hoare triple {11392#(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]; {11396#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:22:32,298 INFO L273 TraceCheckUtils]: 2: Hoare triple {11396#(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]; {11400#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:22:32,300 INFO L273 TraceCheckUtils]: 3: Hoare triple {11400#(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_p1 := #memory_int[main_p1] + 1]; {11404#(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)))) (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_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-23 14:22:32,301 INFO L273 TraceCheckUtils]: 4: Hoare triple {11404#(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)))) (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_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} assume #memory_int[main_p1] >= 0; {11404#(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)))) (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_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} is VALID [2018-12-23 14:22:32,302 INFO L273 TraceCheckUtils]: 5: Hoare triple {11404#(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)))) (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_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))))} assume !(#memory_int[main_p2] <= 0); {11384#false} is VALID [2018-12-23 14:22:32,303 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:22:32,303 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:22:32,389 INFO L273 TraceCheckUtils]: 5: Hoare triple {11411#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {11384#false} is VALID [2018-12-23 14:22:32,389 INFO L273 TraceCheckUtils]: 4: Hoare triple {11411#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {11411#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:22:32,390 INFO L273 TraceCheckUtils]: 3: Hoare triple {11418#(<= (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]; {11411#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:22:32,392 INFO L273 TraceCheckUtils]: 2: Hoare triple {11422#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {11418#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:22:32,394 INFO L273 TraceCheckUtils]: 1: Hoare triple {11426#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11422#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:22:32,396 INFO L273 TraceCheckUtils]: 0: Hoare triple {11383#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {11426#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:22:32,396 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:22:32,415 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:22:32,415 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-23 14:22:32,415 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:22:32,415 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-23 14:22:32,415 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:22:32,415 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-23 14:22:32,437 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:22:32,437 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-23 14:22:32,438 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-23 14:22:32,438 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=115, Unknown=0, NotChecked=0, Total=182 [2018-12-23 14:22:32,438 INFO L87 Difference]: Start difference. First operand 66 states and 289 transitions. Second operand 10 states. [2018-12-23 14:22:36,581 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:22:36,581 INFO L93 Difference]: Finished difference Result 100 states and 357 transitions. [2018-12-23 14:22:36,581 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-23 14:22:36,581 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-23 14:22:36,582 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:22:36,582 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:22:36,582 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2018-12-23 14:22:36,582 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:22:36,583 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2018-12-23 14:22:36,583 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2018-12-23 14:22:36,667 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:22:36,669 INFO L225 Difference]: With dead ends: 100 [2018-12-23 14:22:36,669 INFO L226 Difference]: Without dead ends: 99 [2018-12-23 14:22:36,669 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 2 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=100, Invalid=172, Unknown=0, NotChecked=0, Total=272 [2018-12-23 14:22:36,670 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 99 states. [2018-12-23 14:22:39,692 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 99 to 68. [2018-12-23 14:22:39,692 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:22:39,692 INFO L82 GeneralOperation]: Start isEquivalent. First operand 99 states. Second operand 68 states. [2018-12-23 14:22:39,692 INFO L74 IsIncluded]: Start isIncluded. First operand 99 states. Second operand 68 states. [2018-12-23 14:22:39,693 INFO L87 Difference]: Start difference. First operand 99 states. Second operand 68 states. [2018-12-23 14:22:39,695 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:22:39,696 INFO L93 Difference]: Finished difference Result 99 states and 354 transitions. [2018-12-23 14:22:39,696 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 354 transitions. [2018-12-23 14:22:39,696 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:22:39,696 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:22:39,696 INFO L74 IsIncluded]: Start isIncluded. First operand 68 states. Second operand 99 states. [2018-12-23 14:22:39,697 INFO L87 Difference]: Start difference. First operand 68 states. Second operand 99 states. [2018-12-23 14:22:39,699 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:22:39,699 INFO L93 Difference]: Finished difference Result 99 states and 354 transitions. [2018-12-23 14:22:39,699 INFO L276 IsEmpty]: Start isEmpty. Operand 99 states and 354 transitions. [2018-12-23 14:22:39,699 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:22:39,699 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:22:39,699 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:22:39,699 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:22:39,699 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 68 states. [2018-12-23 14:22:39,701 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 68 states to 68 states and 301 transitions. [2018-12-23 14:22:39,701 INFO L78 Accepts]: Start accepts. Automaton has 68 states and 301 transitions. Word has length 6 [2018-12-23 14:22:39,701 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:22:39,701 INFO L480 AbstractCegarLoop]: Abstraction has 68 states and 301 transitions. [2018-12-23 14:22:39,701 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-23 14:22:39,701 INFO L276 IsEmpty]: Start isEmpty. Operand 68 states and 301 transitions. [2018-12-23 14:22:39,701 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:22:39,701 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:22:39,701 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:22:39,702 INFO L423 AbstractCegarLoop]: === Iteration 36 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:22:39,702 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:22:39,702 INFO L82 PathProgramCache]: Analyzing trace with hash 904737102, now seen corresponding path program 1 times [2018-12-23 14:22:39,702 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:22:39,702 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:22:39,703 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:22:39,703 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:22:39,703 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:22:39,706 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:22:40,018 WARN L181 SmtUtils]: Spent 134.00 ms on a formula simplification that was a NOOP. DAG size: 19 [2018-12-23 14:22:40,142 INFO L273 TraceCheckUtils]: 0: Hoare triple {11900#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {11902#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:22:40,143 INFO L273 TraceCheckUtils]: 1: Hoare triple {11902#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11903#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:22:40,145 INFO L273 TraceCheckUtils]: 2: Hoare triple {11903#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {11904#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:22:40,146 INFO L273 TraceCheckUtils]: 3: Hoare triple {11904#(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]; {11905#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:22:40,146 INFO L273 TraceCheckUtils]: 4: Hoare triple {11905#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {11905#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:22:40,147 INFO L273 TraceCheckUtils]: 5: Hoare triple {11905#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {11901#false} is VALID [2018-12-23 14:22:40,147 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:22:40,148 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:22:40,148 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:22:40,148 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-23 14:22:40,148 INFO L207 CegarAbsIntRunner]: [0], [14], [18], [20], [24], [25] [2018-12-23 14:22:40,149 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:22:40,149 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:22:40,167 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:22:40,167 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 60 root evaluator evaluations with a maximum evaluation depth of 2. Performed 60 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-23 14:22:40,167 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:22:40,167 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:22:40,167 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:22:40,167 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 33 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 33 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:22:40,176 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:22:40,177 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:22:40,181 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:22:40,184 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:22:40,185 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:22:40,271 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 39 [2018-12-23 14:22:40,297 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:40,300 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:40,300 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 49 [2018-12-23 14:22:40,374 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:40,375 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:40,379 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:40,381 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:40,381 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 57 [2018-12-23 14:22:40,444 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:40,445 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:40,446 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:40,448 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:40,449 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:40,452 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:40,453 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 37 [2018-12-23 14:22:40,456 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:40,474 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:40,492 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:40,513 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:40,542 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:22:40,553 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 6 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:22:40,566 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 8 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 33 [2018-12-23 14:22:40,582 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 9 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 47 [2018-12-23 14:22:40,600 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 62 [2018-12-23 14:22:40,605 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:40,629 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:40,643 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:40,655 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:40,666 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:40,697 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 2 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:22:40,697 INFO L202 ElimStorePlain]: Needed 10 recursive calls to eliminate 3 variables, input treesize:61, output treesize:62 [2018-12-23 14:22:40,704 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:40,704 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_182|, ULTIMATE.start_main_p1, |v_#valid_38|]. (let ((.cse0 (store (store |v_#valid_38| 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) (= 0 (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= |#memory_int| (store (store (store (store (store |v_#memory_int_182| 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)) (= 0 (select .cse1 ULTIMATE.start_main_p4))))) [2018-12-23 14:22:40,704 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1]. (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)) (= (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)) [2018-12-23 14:22:40,800 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:40,801 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 45 [2018-12-23 14:22:40,806 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:40,825 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:22:40,826 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:55, output treesize:33 [2018-12-23 14:22:40,872 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:40,872 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_183|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_183| ULTIMATE.start_main_p4))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_183| 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_183| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_183| ULTIMATE.start_main_p2)) (= 0 .cse0) (= 0 (select |v_#memory_int_183| ULTIMATE.start_main_p3)))) [2018-12-23 14:22:40,873 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (= 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_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:22:40,933 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:40,934 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:40,935 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:40,936 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:40,938 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:40,939 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:40,939 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 59 [2018-12-23 14:22:40,944 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:40,964 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:22:40,964 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:45, output treesize:27 [2018-12-23 14:22:42,976 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:42,977 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_184|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_184| ULTIMATE.start_main_p5))) (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)) (= 0 (select |v_#memory_int_184| ULTIMATE.start_main_p2)) (= .cse0 0) (= 0 (select |v_#memory_int_184| ULTIMATE.start_main_p3)) (= (+ (select |v_#memory_int_184| ULTIMATE.start_main_p4) 1) 0) (= |#memory_int| (store |v_#memory_int_184| ULTIMATE.start_main_p5 (+ .cse0 1))))) [2018-12-23 14:22:42,977 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:22:43,029 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:43,030 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:43,031 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:43,033 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:43,034 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:43,035 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:43,036 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:43,037 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:43,037 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:43,038 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:22:43,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, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 77 [2018-12-23 14:22:43,043 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:43,069 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:22:43,070 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:37, output treesize:27 [2018-12-23 14:22:43,115 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:43,115 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_185|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_185| ULTIMATE.start_main_p3))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (+ (select |v_#memory_int_185| ULTIMATE.start_main_p4) 1) 0) (= (select |v_#memory_int_185| ULTIMATE.start_main_p2) 0) (= .cse0 0) (= (select |v_#memory_int_185| ULTIMATE.start_main_p5) 1) (= (store |v_#memory_int_185| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|))) [2018-12-23 14:22:43,116 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2))) [2018-12-23 14:22:43,163 INFO L273 TraceCheckUtils]: 0: Hoare triple {11900#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {11909#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:22:43,165 INFO L273 TraceCheckUtils]: 1: Hoare triple {11909#(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]; {11913#(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)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (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))} is VALID [2018-12-23 14:22:43,167 INFO L273 TraceCheckUtils]: 2: Hoare triple {11913#(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)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (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))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {11917#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (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))} is VALID [2018-12-23 14:22:43,168 INFO L273 TraceCheckUtils]: 3: Hoare triple {11917#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (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))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {11921#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:22:43,169 INFO L273 TraceCheckUtils]: 4: Hoare triple {11921#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {11921#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:22:43,170 INFO L273 TraceCheckUtils]: 5: Hoare triple {11921#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {11901#false} is VALID [2018-12-23 14:22:43,171 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:22:43,171 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:22:43,247 INFO L273 TraceCheckUtils]: 5: Hoare triple {11928#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {11901#false} is VALID [2018-12-23 14:22:43,248 INFO L273 TraceCheckUtils]: 4: Hoare triple {11928#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {11928#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:22:43,249 INFO L273 TraceCheckUtils]: 3: Hoare triple {11935#(<= (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]; {11928#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:22:43,250 INFO L273 TraceCheckUtils]: 2: Hoare triple {11939#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {11935#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:22:43,253 INFO L273 TraceCheckUtils]: 1: Hoare triple {11943#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11939#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:22:43,255 INFO L273 TraceCheckUtils]: 0: Hoare triple {11900#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {11943#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:22:43,255 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:22:43,275 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:22:43,275 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-23 14:22:43,275 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:22:43,275 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-23 14:22:43,275 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:22:43,276 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-23 14:22:43,292 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:22:43,293 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-23 14:22:43,293 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-23 14:22:43,293 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=115, Unknown=0, NotChecked=0, Total=182 [2018-12-23 14:22:43,293 INFO L87 Difference]: Start difference. First operand 68 states and 301 transitions. Second operand 10 states. [2018-12-23 14:22:48,302 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:22:48,302 INFO L93 Difference]: Finished difference Result 104 states and 381 transitions. [2018-12-23 14:22:48,302 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-23 14:22:48,302 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-23 14:22:48,302 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:22:48,302 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:22:48,303 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2018-12-23 14:22:48,303 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:22:48,303 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2018-12-23 14:22:48,303 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2018-12-23 14:22:48,380 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:22:48,382 INFO L225 Difference]: With dead ends: 104 [2018-12-23 14:22:48,382 INFO L226 Difference]: Without dead ends: 103 [2018-12-23 14:22:48,383 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=100, Invalid=172, Unknown=0, NotChecked=0, Total=272 [2018-12-23 14:22:48,383 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 103 states. [2018-12-23 14:22:52,185 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 103 to 74. [2018-12-23 14:22:52,185 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:22:52,185 INFO L82 GeneralOperation]: Start isEquivalent. First operand 103 states. Second operand 74 states. [2018-12-23 14:22:52,186 INFO L74 IsIncluded]: Start isIncluded. First operand 103 states. Second operand 74 states. [2018-12-23 14:22:52,186 INFO L87 Difference]: Start difference. First operand 103 states. Second operand 74 states. [2018-12-23 14:22:52,189 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:22:52,190 INFO L93 Difference]: Finished difference Result 103 states and 378 transitions. [2018-12-23 14:22:52,190 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 378 transitions. [2018-12-23 14:22:52,190 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:22:52,190 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:22:52,190 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand 103 states. [2018-12-23 14:22:52,190 INFO L87 Difference]: Start difference. First operand 74 states. Second operand 103 states. [2018-12-23 14:22:52,193 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:22:52,193 INFO L93 Difference]: Finished difference Result 103 states and 378 transitions. [2018-12-23 14:22:52,193 INFO L276 IsEmpty]: Start isEmpty. Operand 103 states and 378 transitions. [2018-12-23 14:22:52,194 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:22:52,194 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:22:52,194 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:22:52,194 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:22:52,194 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 74 states. [2018-12-23 14:22:52,196 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 337 transitions. [2018-12-23 14:22:52,196 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 337 transitions. Word has length 6 [2018-12-23 14:22:52,196 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:22:52,196 INFO L480 AbstractCegarLoop]: Abstraction has 74 states and 337 transitions. [2018-12-23 14:22:52,196 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-23 14:22:52,196 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 337 transitions. [2018-12-23 14:22:52,197 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:22:52,197 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:22:52,197 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:22:52,197 INFO L423 AbstractCegarLoop]: === Iteration 37 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:22:52,197 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:22:52,198 INFO L82 PathProgramCache]: Analyzing trace with hash 904320028, now seen corresponding path program 1 times [2018-12-23 14:22:52,198 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:22:52,198 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:22:52,198 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:22:52,198 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:22:52,199 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:22:52,203 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:22:52,310 INFO L273 TraceCheckUtils]: 0: Hoare triple {12445#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {12447#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:22:52,311 INFO L273 TraceCheckUtils]: 1: Hoare triple {12447#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {12448#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:22:52,312 INFO L273 TraceCheckUtils]: 2: Hoare triple {12448#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {12448#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:22:52,313 INFO L273 TraceCheckUtils]: 3: Hoare triple {12448#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {12449#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-23 14:22:52,313 INFO L273 TraceCheckUtils]: 4: Hoare triple {12449#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {12450#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:22:52,314 INFO L273 TraceCheckUtils]: 5: Hoare triple {12450#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {12446#false} is VALID [2018-12-23 14:22:52,314 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-23 14:22:52,314 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:22:52,314 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:22:52,314 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-23 14:22:52,315 INFO L207 CegarAbsIntRunner]: [0], [6], [14], [18], [24], [25] [2018-12-23 14:22:52,316 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:22:52,317 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:22:52,328 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:22:52,328 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 60 root evaluator evaluations with a maximum evaluation depth of 2. Performed 60 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-23 14:22:52,328 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:22:52,328 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:22:52,329 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:22:52,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 34 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 34 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:22:52,339 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:22:52,339 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:22:52,343 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:22:52,346 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:22:52,347 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:22:52,386 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:52,387 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 31 treesize of output 40 [2018-12-23 14:22:52,430 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:52,431 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:52,431 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 27 treesize of output 42 [2018-12-23 14:22:52,480 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:52,482 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:52,483 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:52,484 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:52,484 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 25 [2018-12-23 14:22:52,487 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:52,498 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:52,509 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:52,528 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:22:52,537 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 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 27 [2018-12-23 14:22:52,549 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 6 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:22:52,563 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:22:52,581 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:22:52,586 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:52,617 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:52,630 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:52,643 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:52,655 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:22:52,678 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 2 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:22:52,678 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 3 variables, input treesize:52, output treesize:50 [2018-12-23 14:22:52,684 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:52,684 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_189|, ULTIMATE.start_main_p5, |v_#valid_39|]. (let ((.cse1 (store |v_#valid_39| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p2 1))) (and (= (store (store (store (store (store |v_#memory_int_189| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (= 0 (select .cse0 ULTIMATE.start_main_p3)) (= 0 (select (store .cse0 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4)) (= (select .cse1 ULTIMATE.start_main_p2) 0)))) [2018-12-23 14:22:52,684 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (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_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) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:22:52,778 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:52,779 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 45 [2018-12-23 14:22:52,783 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:52,803 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:22:52,803 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:55, output treesize:33 [2018-12-23 14:22:55,379 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:55,379 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_190|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_190| ULTIMATE.start_main_p4))) (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)) (= (select |v_#memory_int_190| ULTIMATE.start_main_p2) 0) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_190| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_190| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_190| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))))) [2018-12-23 14:22:55,379 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (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)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:22:55,488 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:55,489 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:55,491 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:55,492 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:55,493 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:55,494 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:55,494 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 59 [2018-12-23 14:22:55,501 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:55,521 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:22:55,522 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:45, output treesize:27 [2018-12-23 14:22:57,530 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:22:57,530 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_191|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_191| ULTIMATE.start_main_p1))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= .cse0 0) (= (select |v_#memory_int_191| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_191| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (+ (select |v_#memory_int_191| ULTIMATE.start_main_p4) 1) 0) (= (store |v_#memory_int_191| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|))) [2018-12-23 14:22:57,530 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:22:57,582 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:57,583 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:57,585 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:57,586 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:57,587 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:57,588 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:57,589 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:57,590 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:57,591 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:22:57,592 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:22:57,593 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 77 [2018-12-23 14:22:57,597 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:22:57,624 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:22:57,624 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:37, output treesize:27 [2018-12-23 14:23:00,081 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:23:00,081 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_192|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_192| ULTIMATE.start_main_p3))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (+ (select |v_#memory_int_192| ULTIMATE.start_main_p4) 1) 0) (= (select |v_#memory_int_192| ULTIMATE.start_main_p1) 1) (= |#memory_int| (store |v_#memory_int_192| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (select |v_#memory_int_192| ULTIMATE.start_main_p2) 0) (= 0 .cse0))) [2018-12-23 14:23:00,082 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1))) [2018-12-23 14:23:00,167 INFO L273 TraceCheckUtils]: 0: Hoare triple {12445#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {12454#(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)))} is VALID [2018-12-23 14:23:00,169 INFO L273 TraceCheckUtils]: 1: Hoare triple {12454#(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)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {12458#(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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:23:00,170 INFO L273 TraceCheckUtils]: 2: Hoare triple {12458#(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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {12462#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (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))} is VALID [2018-12-23 14:23:00,193 INFO L273 TraceCheckUtils]: 3: Hoare triple {12462#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (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))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {12466#(and (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_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))))} is VALID [2018-12-23 14:23:00,199 INFO L273 TraceCheckUtils]: 4: Hoare triple {12466#(and (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_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))))} assume #memory_int[main_p1] >= 0; {12466#(and (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_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))))} is VALID [2018-12-23 14:23:00,200 INFO L273 TraceCheckUtils]: 5: Hoare triple {12466#(and (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_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))))} assume !(#memory_int[main_p2] <= 0); {12446#false} is VALID [2018-12-23 14:23:00,200 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:23:00,200 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:23:00,273 INFO L273 TraceCheckUtils]: 5: Hoare triple {12473#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {12446#false} is VALID [2018-12-23 14:23:00,274 INFO L273 TraceCheckUtils]: 4: Hoare triple {12473#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {12473#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:23:00,275 INFO L273 TraceCheckUtils]: 3: Hoare triple {12480#(<= (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]; {12473#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:23:00,276 INFO L273 TraceCheckUtils]: 2: Hoare triple {12484#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {12480#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:23:00,278 INFO L273 TraceCheckUtils]: 1: Hoare triple {12488#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {12484#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:23:00,280 INFO L273 TraceCheckUtils]: 0: Hoare triple {12445#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {12488#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:23:00,280 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:23:00,300 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:23:00,301 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-23 14:23:00,301 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:23:00,301 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-23 14:23:00,301 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:23:00,301 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-23 14:23:00,318 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:23:00,318 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-23 14:23:00,319 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-23 14:23:00,319 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=117, Unknown=0, NotChecked=0, Total=182 [2018-12-23 14:23:00,319 INFO L87 Difference]: Start difference. First operand 74 states and 337 transitions. Second operand 10 states. [2018-12-23 14:23:05,457 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:23:05,458 INFO L93 Difference]: Finished difference Result 107 states and 399 transitions. [2018-12-23 14:23:05,458 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-23 14:23:05,458 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-23 14:23:05,458 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:23:05,458 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:23:05,458 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2018-12-23 14:23:05,458 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:23:05,459 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2018-12-23 14:23:05,459 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2018-12-23 14:23:05,536 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:23:05,539 INFO L225 Difference]: With dead ends: 107 [2018-12-23 14:23:05,539 INFO L226 Difference]: Without dead ends: 106 [2018-12-23 14:23:05,539 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 2 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 61 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=98, Invalid=174, Unknown=0, NotChecked=0, Total=272 [2018-12-23 14:23:05,540 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 106 states. [2018-12-23 14:23:09,502 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 106 to 74. [2018-12-23 14:23:09,503 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:23:09,503 INFO L82 GeneralOperation]: Start isEquivalent. First operand 106 states. Second operand 74 states. [2018-12-23 14:23:09,503 INFO L74 IsIncluded]: Start isIncluded. First operand 106 states. Second operand 74 states. [2018-12-23 14:23:09,503 INFO L87 Difference]: Start difference. First operand 106 states. Second operand 74 states. [2018-12-23 14:23:09,506 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:23:09,506 INFO L93 Difference]: Finished difference Result 106 states and 396 transitions. [2018-12-23 14:23:09,506 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 396 transitions. [2018-12-23 14:23:09,506 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:23:09,506 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:23:09,506 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand 106 states. [2018-12-23 14:23:09,507 INFO L87 Difference]: Start difference. First operand 74 states. Second operand 106 states. [2018-12-23 14:23:09,508 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:23:09,509 INFO L93 Difference]: Finished difference Result 106 states and 396 transitions. [2018-12-23 14:23:09,509 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 396 transitions. [2018-12-23 14:23:09,509 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:23:09,509 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:23:09,509 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:23:09,509 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:23:09,509 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 74 states. [2018-12-23 14:23:09,511 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 337 transitions. [2018-12-23 14:23:09,511 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 337 transitions. Word has length 6 [2018-12-23 14:23:09,511 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:23:09,511 INFO L480 AbstractCegarLoop]: Abstraction has 74 states and 337 transitions. [2018-12-23 14:23:09,511 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-23 14:23:09,511 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 337 transitions. [2018-12-23 14:23:09,511 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:23:09,511 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:23:09,511 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:23:09,512 INFO L423 AbstractCegarLoop]: === Iteration 38 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:23:09,512 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:23:09,512 INFO L82 PathProgramCache]: Analyzing trace with hash 906534236, now seen corresponding path program 1 times [2018-12-23 14:23:09,512 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:23:09,512 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:23:09,512 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:23:09,513 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:23:09,513 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:23:09,515 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:23:09,611 INFO L273 TraceCheckUtils]: 0: Hoare triple {13002#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {13004#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:23:09,612 INFO L273 TraceCheckUtils]: 1: Hoare triple {13004#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {13005#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:23:09,613 INFO L273 TraceCheckUtils]: 2: Hoare triple {13005#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {13006#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-23 14:23:09,613 INFO L273 TraceCheckUtils]: 3: Hoare triple {13006#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p1] >= 0; {13006#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-23 14:23:09,614 INFO L273 TraceCheckUtils]: 4: Hoare triple {13006#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p2] <= 0; {13006#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-23 14:23:09,615 INFO L273 TraceCheckUtils]: 5: Hoare triple {13006#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {13003#false} is VALID [2018-12-23 14:23:09,615 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:23:09,615 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:23:09,615 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:23:09,615 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-23 14:23:09,616 INFO L207 CegarAbsIntRunner]: [0], [18], [20], [24], [26], [27] [2018-12-23 14:23:09,619 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:23:09,619 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:23:09,629 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:23:09,629 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 60 root evaluator evaluations with a maximum evaluation depth of 2. Performed 60 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:23:09,630 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:23:09,630 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:23:09,630 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:23:09,630 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 35 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 35 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:23:09,638 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:23:09,639 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:23:09,642 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:23:09,656 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:23:09,656 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:23:09,677 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:23:09,685 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:23:09,694 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:09,695 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:09,696 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 33 [2018-12-23 14:23:09,708 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:09,710 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:09,711 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:09,712 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 25 treesize of output 47 [2018-12-23 14:23:09,729 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:09,731 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:09,732 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:09,734 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:09,734 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 62 [2018-12-23 14:23:09,740 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:23:09,769 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:23:09,784 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:23:09,797 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:23:09,810 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:23:09,832 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 39 [2018-12-23 14:23:09,859 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:09,861 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:09,862 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 49 [2018-12-23 14:23:09,913 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:09,915 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:09,917 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:09,918 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:09,919 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 57 [2018-12-23 14:23:09,986 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:09,988 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:09,989 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:09,990 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:09,991 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:09,993 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:09,994 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 37 [2018-12-23 14:23:09,997 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-12-23 14:23:10,014 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:23:10,030 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:23:10,047 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:23:10,083 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:23:10,084 INFO L202 ElimStorePlain]: Needed 10 recursive calls to eliminate 4 variables, input treesize:61, output treesize:62 [2018-12-23 14:23:10,092 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:23:10,093 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_196|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2, |v_#valid_40|]. (let ((.cse1 (store (store |v_#valid_40| ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p3 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p4)) (= 0 (select .cse1 ULTIMATE.start_main_p3)) (= (store (store (store (store (store |v_#memory_int_196| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (= 0 (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5))))) [2018-12-23 14:23:10,093 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p1]. (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_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:23:10,182 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:10,183 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 51 [2018-12-23 14:23:10,188 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:23:10,206 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:23:10,207 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:55, output treesize:33 [2018-12-23 14:23:10,213 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:23:10,213 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_197|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_197| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_197| ULTIMATE.start_main_p1) 0) (= (store |v_#memory_int_197| ULTIMATE.start_main_p5 (+ .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)) (= (select |v_#memory_int_197| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 .cse0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_197| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) [2018-12-23 14:23:10,213 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:23:10,274 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:10,275 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:10,276 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:10,277 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:10,278 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:10,279 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:10,280 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 57 [2018-12-23 14:23:10,285 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:23:10,307 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:23:10,307 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:43, output treesize:25 [2018-12-23 14:23:10,485 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:23:10,485 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_198|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_198| ULTIMATE.start_main_p4))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_198| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= .cse0 0) (= (select |v_#memory_int_198| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_198| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_198| ULTIMATE.start_main_p5) 1))) [2018-12-23 14:23:10,485 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 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)) [2018-12-23 14:23:10,543 INFO L273 TraceCheckUtils]: 0: Hoare triple {13002#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {13010#(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_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (exists ((ULTIMATE.start_main_p1 Int)) (and (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)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2018-12-23 14:23:10,544 INFO L273 TraceCheckUtils]: 1: Hoare triple {13010#(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_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (exists ((ULTIMATE.start_main_p1 Int)) (and (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)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {13014#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:23:10,546 INFO L273 TraceCheckUtils]: 2: Hoare triple {13014#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= (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]; {13018#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:23:10,547 INFO L273 TraceCheckUtils]: 3: Hoare triple {13018#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p1] >= 0; {13018#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:23:10,548 INFO L273 TraceCheckUtils]: 4: Hoare triple {13018#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p2] <= 0; {13018#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:23:10,549 INFO L273 TraceCheckUtils]: 5: Hoare triple {13018#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p4 Int)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume !(#memory_int[main_p3] >= 0); {13003#false} is VALID [2018-12-23 14:23:10,549 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:23:10,549 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:23:10,600 INFO L273 TraceCheckUtils]: 5: Hoare triple {13028#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {13003#false} is VALID [2018-12-23 14:23:10,600 INFO L273 TraceCheckUtils]: 4: Hoare triple {13028#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {13028#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:23:10,601 INFO L273 TraceCheckUtils]: 3: Hoare triple {13028#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {13028#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:23:10,602 INFO L273 TraceCheckUtils]: 2: Hoare triple {13038#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {13028#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:23:10,603 INFO L273 TraceCheckUtils]: 1: Hoare triple {13042#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {13038#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:23:10,605 INFO L273 TraceCheckUtils]: 0: Hoare triple {13002#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {13042#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:23:10,606 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:23:10,625 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:23:10,626 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:23:10,626 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:23:10,626 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-23 14:23:10,626 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:23:10,626 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:23:10,643 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:23:10,644 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:23:10,644 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:23:10,644 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:23:10,644 INFO L87 Difference]: Start difference. First operand 74 states and 337 transitions. Second operand 8 states. [2018-12-23 14:23:15,410 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:23:15,411 INFO L93 Difference]: Finished difference Result 100 states and 371 transitions. [2018-12-23 14:23:15,411 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-23 14:23:15,411 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-23 14:23:15,411 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:23:15,411 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:23:15,411 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2018-12-23 14:23:15,411 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:23:15,412 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2018-12-23 14:23:15,412 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 54 transitions. [2018-12-23 14:23:15,480 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:23:15,482 INFO L225 Difference]: With dead ends: 100 [2018-12-23 14:23:15,482 INFO L226 Difference]: Without dead ends: 98 [2018-12-23 14:23:15,483 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:23:15,483 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2018-12-23 14:23:19,622 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 75. [2018-12-23 14:23:19,623 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:23:19,623 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand 75 states. [2018-12-23 14:23:19,623 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand 75 states. [2018-12-23 14:23:19,623 INFO L87 Difference]: Start difference. First operand 98 states. Second operand 75 states. [2018-12-23 14:23:19,625 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:23:19,626 INFO L93 Difference]: Finished difference Result 98 states and 368 transitions. [2018-12-23 14:23:19,626 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 368 transitions. [2018-12-23 14:23:19,626 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:23:19,626 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:23:19,626 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand 98 states. [2018-12-23 14:23:19,626 INFO L87 Difference]: Start difference. First operand 75 states. Second operand 98 states. [2018-12-23 14:23:19,628 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:23:19,628 INFO L93 Difference]: Finished difference Result 98 states and 368 transitions. [2018-12-23 14:23:19,628 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 368 transitions. [2018-12-23 14:23:19,628 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:23:19,629 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:23:19,629 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:23:19,629 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:23:19,629 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 75 states. [2018-12-23 14:23:19,631 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 343 transitions. [2018-12-23 14:23:19,631 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 343 transitions. Word has length 6 [2018-12-23 14:23:19,631 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:23:19,631 INFO L480 AbstractCegarLoop]: Abstraction has 75 states and 343 transitions. [2018-12-23 14:23:19,631 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:23:19,632 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 343 transitions. [2018-12-23 14:23:19,632 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:23:19,632 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:23:19,632 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:23:19,632 INFO L423 AbstractCegarLoop]: === Iteration 39 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:23:19,632 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:23:19,632 INFO L82 PathProgramCache]: Analyzing trace with hash 906163226, now seen corresponding path program 1 times [2018-12-23 14:23:19,633 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:23:19,633 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:23:19,633 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:23:19,633 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:23:19,633 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:23:19,636 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:23:19,823 INFO L273 TraceCheckUtils]: 0: Hoare triple {13529#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {13531#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:23:19,824 INFO L273 TraceCheckUtils]: 1: Hoare triple {13531#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {13532#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:23:19,825 INFO L273 TraceCheckUtils]: 2: Hoare triple {13532#(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]; {13533#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:23:19,826 INFO L273 TraceCheckUtils]: 3: Hoare triple {13533#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {13534#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-23 14:23:19,826 INFO L273 TraceCheckUtils]: 4: Hoare triple {13534#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume #memory_int[main_p1] >= 0; {13534#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-23 14:23:19,827 INFO L273 TraceCheckUtils]: 5: Hoare triple {13534#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {13530#false} is VALID [2018-12-23 14:23:19,827 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:23:19,827 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:23:19,828 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:23:19,828 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-23 14:23:19,828 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [20], [24], [25] [2018-12-23 14:23:19,830 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:23:19,831 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:23:19,838 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:23:19,838 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 60 root evaluator evaluations with a maximum evaluation depth of 2. Performed 60 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-23 14:23:19,838 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:23:19,838 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:23:19,838 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:23:19,838 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 36 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 36 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:23:19,877 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:23:19,877 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:23:19,883 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:23:19,887 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:23:19,888 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:23:19,924 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:19,924 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 40 [2018-12-23 14:23:19,964 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:19,966 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:19,967 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 27 treesize of output 42 [2018-12-23 14:23:20,012 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:20,013 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:20,015 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:20,016 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:20,017 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 25 [2018-12-23 14:23:20,019 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-12-23 14:23:20,031 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:23:20,044 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:23:20,064 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:23:20,071 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 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 27 [2018-12-23 14:23:20,079 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 6 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:23:20,088 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:23:20,104 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:23:20,106 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-23 14:23:20,125 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:23:20,139 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:23:20,151 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:23:20,161 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:23:20,188 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:23:20,188 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 4 variables, input treesize:52, output treesize:50 [2018-12-23 14:23:20,195 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:23:20,195 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_201|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, |v_#valid_41|]. (let ((.cse1 (store |v_#valid_41| ULTIMATE.start_main_p1 1))) (let ((.cse0 (store .cse1 ULTIMATE.start_main_p2 1))) (and (= 0 (select (store .cse0 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4)) (= 0 (select .cse0 ULTIMATE.start_main_p3)) (= 0 (select .cse1 ULTIMATE.start_main_p2)) (= |#memory_int| (store (store (store (store (store |v_#memory_int_201| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0))))) [2018-12-23 14:23:20,195 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (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_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) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:23:20,260 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:20,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, 7 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 8 case distinctions, treesize of input 36 treesize of output 66 [2018-12-23 14:23:20,295 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 16 xjuncts. [2018-12-23 14:23:20,476 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 11 dim-0 vars, and 5 xjuncts. [2018-12-23 14:23:20,477 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:60, output treesize:199 [2018-12-23 14:23:22,629 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:23:22,629 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_202|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_202| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_202| ULTIMATE.start_main_p4) 0) (= 0 (select |v_#memory_int_202| ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_202| ULTIMATE.start_main_p5 (+ .cse0 1))) (= 0 (select |v_#memory_int_202| ULTIMATE.start_main_p2)) (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)) (= 0 (select |v_#memory_int_202| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) [2018-12-23 14:23:22,630 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_75, v_prenex_74, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, v_prenex_76, v_prenex_77, v_prenex_72, v_prenex_73, v_prenex_79, v_prenex_78]. (let ((.cse3 (select |#memory_int| ULTIMATE.start_main_p1)) (.cse4 (select |#memory_int| ULTIMATE.start_main_p2))) (let ((.cse1 (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1))) (.cse2 (= 0 .cse4)) (.cse0 (= .cse3 0))) (or (and (not (= v_prenex_75 v_prenex_74)) (not (= v_prenex_75 ULTIMATE.start_main_p2)) .cse0 .cse1 (not (= ULTIMATE.start_main_p2 v_prenex_74)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) .cse2 (not (= v_prenex_75 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_75) 0) (not (= ULTIMATE.start_main_p1 v_prenex_74)) (= (select |#memory_int| v_prenex_74) 0)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= .cse3 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) .cse2 (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)) (and (not (= ULTIMATE.start_main_p1 v_prenex_76)) (not (= v_prenex_77 ULTIMATE.start_main_p2)) .cse0 .cse1 (= 1 (select |#memory_int| v_prenex_76)) .cse2 (not (= v_prenex_77 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_77) 0)) (and .cse0 .cse1 (not (= ULTIMATE.start_main_p2 v_prenex_72)) (= (select |#memory_int| v_prenex_73) 1) .cse2 (not (= v_prenex_73 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_72) 0) (not (= ULTIMATE.start_main_p1 v_prenex_72))) (and (not (= v_prenex_79 v_prenex_78)) (= 1 .cse4) .cse0 (not (= v_prenex_79 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_79) 0) (= (select |#memory_int| v_prenex_78) 0) (not (= ULTIMATE.start_main_p1 v_prenex_78)))))) [2018-12-23 14:23:22,816 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:22,817 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:22,818 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:22,819 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:22,820 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 51 treesize of output 57 [2018-12-23 14:23:22,823 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:23:22,897 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:22,898 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:22,899 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:22,900 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:22,901 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:23:22,902 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 65 [2018-12-23 14:23:22,912 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-12-23 14:23:22,984 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:22,985 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:22,986 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:22,987 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:22,988 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:22,989 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:23:22,990 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 63 [2018-12-23 14:23:22,992 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-12-23 14:23:23,055 INFO L267 ElimStorePlain]: Start of recursive call 1: 9 dim-0 vars, 3 dim-1 vars, End of recursive call: 9 dim-0 vars, and 3 xjuncts. [2018-12-23 14:23:23,055 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 12 variables, input treesize:142, output treesize:92 [2018-12-23 14:23:25,154 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:23:25,155 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_203|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, v_prenex_82, v_prenex_83, v_prenex_73, v_prenex_72, v_prenex_80, v_prenex_81, v_prenex_79, v_prenex_78]. (or (let ((.cse0 (select |v_#memory_int_203| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_203| ULTIMATE.start_main_p4) 0) (= |#memory_int| (store |v_#memory_int_203| ULTIMATE.start_main_p1 (+ .cse0 1))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= .cse0 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_203| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_203| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (let ((.cse1 (select v_prenex_82 v_prenex_83))) (and (= 1 (select v_prenex_82 v_prenex_73)) (= .cse1 0) (not (= v_prenex_83 v_prenex_72)) (= |#memory_int| (store v_prenex_82 v_prenex_83 (+ .cse1 1))) (= 0 (select v_prenex_82 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 v_prenex_72)) (not (= ULTIMATE.start_main_p2 v_prenex_83)) (= 0 (select v_prenex_82 v_prenex_72)) (not (= v_prenex_73 v_prenex_83)))) (let ((.cse2 (select v_prenex_80 v_prenex_81))) (and (not (= v_prenex_79 v_prenex_78)) (= .cse2 0) (not (= v_prenex_79 v_prenex_81)) (= |#memory_int| (store v_prenex_80 v_prenex_81 (+ .cse2 1))) (= 0 (select v_prenex_80 v_prenex_78)) (= 0 (select v_prenex_80 v_prenex_79)) (not (= v_prenex_81 v_prenex_78)) (= 1 (select v_prenex_80 ULTIMATE.start_main_p2))))) [2018-12-23 14:23:25,155 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, v_prenex_83, v_prenex_73, v_prenex_72, v_prenex_79, v_prenex_78, v_prenex_81]. (let ((.cse1 (select |#memory_int| ULTIMATE.start_main_p2))) (let ((.cse0 (= 0 .cse1))) (or (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_p1) 2) .cse0 (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) (and (= 1 (select |#memory_int| v_prenex_83)) (= (select |#memory_int| v_prenex_73) 1) .cse0 (not (= ULTIMATE.start_main_p2 v_prenex_72)) (= 0 (select |#memory_int| v_prenex_72)) (not (= v_prenex_73 v_prenex_83))) (and (not (= v_prenex_79 v_prenex_78)) (= 0 (select |#memory_int| v_prenex_79)) (= (select |#memory_int| v_prenex_81) 1) (= 1 .cse1) (= (select |#memory_int| v_prenex_78) 0) (not (= v_prenex_81 ULTIMATE.start_main_p2)))))) [2018-12-23 14:23:25,294 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:25,295 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:25,296 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:25,298 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:25,299 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:25,300 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:25,300 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 65 [2018-12-23 14:23:25,303 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:23:25,369 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:25,370 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:25,371 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:25,372 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:25,373 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:25,374 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:25,375 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:25,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, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 39 treesize of output 61 [2018-12-23 14:23:25,379 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-12-23 14:23:25,439 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:25,440 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:25,442 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:25,443 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:25,444 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:25,444 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:23:25,445 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 39 treesize of output 53 [2018-12-23 14:23:25,448 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-12-23 14:23:25,500 INFO L267 ElimStorePlain]: Start of recursive call 1: 9 dim-0 vars, 3 dim-1 vars, End of recursive call: 9 dim-0 vars, and 3 xjuncts. [2018-12-23 14:23:25,500 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 12 variables, input treesize:122, output treesize:84 [2018-12-23 14:23:27,601 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:23:27,602 WARN L384 uantifierElimination]: Input elimination task: ∃ [v_prenex_84, v_prenex_72, v_prenex_83, v_prenex_73, |v_#memory_int_204|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, v_prenex_85, v_prenex_79, v_prenex_78, v_prenex_81]. (or (let ((.cse0 (select v_prenex_84 ULTIMATE.start_main_p2))) (and (= (store v_prenex_84 ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select v_prenex_84 v_prenex_72) 0) (= .cse0 0) (= 1 (select v_prenex_84 v_prenex_83)) (not (= ULTIMATE.start_main_p2 v_prenex_72)) (= (select v_prenex_84 v_prenex_73) 1) (not (= v_prenex_73 v_prenex_83)))) (let ((.cse1 (select |v_#memory_int_204| ULTIMATE.start_main_p2))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_204| ULTIMATE.start_main_p1) 2) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= .cse1 0) (= (store |v_#memory_int_204| ULTIMATE.start_main_p2 (+ .cse1 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_204| ULTIMATE.start_main_p4)) (= (select |v_#memory_int_204| ULTIMATE.start_main_p3) 0))) (let ((.cse2 (select v_prenex_85 ULTIMATE.start_main_p2))) (and (not (= v_prenex_79 v_prenex_78)) (= .cse2 1) (= (select v_prenex_85 v_prenex_78) 0) (not (= v_prenex_81 ULTIMATE.start_main_p2)) (= (select v_prenex_85 v_prenex_79) 0) (= 1 (select v_prenex_85 v_prenex_81)) (= (store v_prenex_85 ULTIMATE.start_main_p2 (+ .cse2 (- 1))) |#memory_int|)))) [2018-12-23 14:23:27,602 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_78, v_prenex_79, v_prenex_81, v_prenex_83, v_prenex_73, v_prenex_72, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (let ((.cse0 (select |#memory_int| ULTIMATE.start_main_p2))) (let ((.cse1 (= (- 1) .cse0))) (or (and (not (= v_prenex_78 ULTIMATE.start_main_p2)) (not (= v_prenex_79 v_prenex_78)) (= 0 (select |#memory_int| v_prenex_79)) (not (= v_prenex_79 ULTIMATE.start_main_p2)) (= (select |#memory_int| v_prenex_81) 1) (= (select |#memory_int| v_prenex_78) 0) (= 0 .cse0)) (and .cse1 (= 1 (select |#memory_int| v_prenex_83)) (= (select |#memory_int| v_prenex_73) 1) (= 0 (select |#memory_int| v_prenex_72)) (not (= v_prenex_73 v_prenex_83))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) .cse1 (= (select |#memory_int| ULTIMATE.start_main_p1) 2) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))) [2018-12-23 14:23:27,951 INFO L273 TraceCheckUtils]: 0: Hoare triple {13529#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {13538#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2018-12-23 14:23:27,953 INFO L273 TraceCheckUtils]: 1: Hoare triple {13538#(and (= 0 (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_p5 := #memory_int[main_p5] + 1]; {13542#(or (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_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))))) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_78 Int) (v_prenex_79 Int)) (and (not (= v_prenex_79 v_prenex_78)) (= (select |#memory_int| v_prenex_79) 0) (= (select |#memory_int| v_prenex_78) 0) (not (= v_prenex_79 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 v_prenex_78))))) (and (exists ((v_prenex_73 Int)) (and (= (select |#memory_int| v_prenex_73) 1) (not (= v_prenex_73 ULTIMATE.start_main_p1)))) (= (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 ((v_prenex_72 Int)) (and (= (select |#memory_int| v_prenex_72) 0) (not (= ULTIMATE.start_main_p2 v_prenex_72)) (not (= ULTIMATE.start_main_p1 v_prenex_72))))))} is VALID [2018-12-23 14:23:27,958 INFO L273 TraceCheckUtils]: 2: Hoare triple {13542#(or (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_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))))) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((v_prenex_78 Int) (v_prenex_79 Int)) (and (not (= v_prenex_79 v_prenex_78)) (= (select |#memory_int| v_prenex_79) 0) (= (select |#memory_int| v_prenex_78) 0) (not (= v_prenex_79 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 v_prenex_78))))) (and (exists ((v_prenex_73 Int)) (and (= (select |#memory_int| v_prenex_73) 1) (not (= v_prenex_73 ULTIMATE.start_main_p1)))) (= (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 ((v_prenex_72 Int)) (and (= (select |#memory_int| v_prenex_72) 0) (not (= ULTIMATE.start_main_p2 v_prenex_72)) (not (= ULTIMATE.start_main_p1 v_prenex_72))))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {13546#(or (and (= 1 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((v_prenex_81 Int)) (and (= (select |#memory_int| v_prenex_81) 1) (not (= v_prenex_81 ULTIMATE.start_main_p2)))) (exists ((v_prenex_78 Int) (v_prenex_79 Int)) (and (= 0 (select |#memory_int| v_prenex_79)) (not (= v_prenex_79 v_prenex_78)) (= (select |#memory_int| v_prenex_78) 0)))) (and (exists ((v_prenex_73 Int) (v_prenex_83 Int)) (and (= 1 (select |#memory_int| v_prenex_83)) (= (select |#memory_int| v_prenex_73) 1) (not (= v_prenex_73 v_prenex_83)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((v_prenex_72 Int)) (and (= 0 (select |#memory_int| v_prenex_72)) (not (= ULTIMATE.start_main_p2 v_prenex_72))))) (and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)))))} is VALID [2018-12-23 14:23:27,963 INFO L273 TraceCheckUtils]: 3: Hoare triple {13546#(or (and (= 1 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((v_prenex_81 Int)) (and (= (select |#memory_int| v_prenex_81) 1) (not (= v_prenex_81 ULTIMATE.start_main_p2)))) (exists ((v_prenex_78 Int) (v_prenex_79 Int)) (and (= 0 (select |#memory_int| v_prenex_79)) (not (= v_prenex_79 v_prenex_78)) (= (select |#memory_int| v_prenex_78) 0)))) (and (exists ((v_prenex_73 Int) (v_prenex_83 Int)) (and (= 1 (select |#memory_int| v_prenex_83)) (= (select |#memory_int| v_prenex_73) 1) (not (= v_prenex_73 v_prenex_83)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((v_prenex_72 Int)) (and (= 0 (select |#memory_int| v_prenex_72)) (not (= ULTIMATE.start_main_p2 v_prenex_72))))) (and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 2)) (= 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)))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {13550#(or (and (exists ((v_prenex_81 Int)) (= (select |#memory_int| v_prenex_81) 1)) (exists ((v_prenex_78 Int) (v_prenex_79 Int)) (and (= 0 (select |#memory_int| v_prenex_79)) (not (= v_prenex_79 v_prenex_78)) (not (= v_prenex_78 ULTIMATE.start_main_p2)) (not (= v_prenex_79 ULTIMATE.start_main_p2)) (= (select |#memory_int| v_prenex_78) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2))) (and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 2)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)))) (and (exists ((v_prenex_73 Int) (v_prenex_83 Int)) (and (= 1 (select |#memory_int| v_prenex_83)) (= (select |#memory_int| v_prenex_73) 1) (not (= v_prenex_73 v_prenex_83)))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((v_prenex_72 Int)) (= 0 (select |#memory_int| v_prenex_72)))))} is VALID [2018-12-23 14:23:27,964 INFO L273 TraceCheckUtils]: 4: Hoare triple {13550#(or (and (exists ((v_prenex_81 Int)) (= (select |#memory_int| v_prenex_81) 1)) (exists ((v_prenex_78 Int) (v_prenex_79 Int)) (and (= 0 (select |#memory_int| v_prenex_79)) (not (= v_prenex_79 v_prenex_78)) (not (= v_prenex_78 ULTIMATE.start_main_p2)) (not (= v_prenex_79 ULTIMATE.start_main_p2)) (= (select |#memory_int| v_prenex_78) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2))) (and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 2)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)))) (and (exists ((v_prenex_73 Int) (v_prenex_83 Int)) (and (= 1 (select |#memory_int| v_prenex_83)) (= (select |#memory_int| v_prenex_73) 1) (not (= v_prenex_73 v_prenex_83)))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((v_prenex_72 Int)) (= 0 (select |#memory_int| v_prenex_72)))))} assume #memory_int[main_p1] >= 0; {13550#(or (and (exists ((v_prenex_81 Int)) (= (select |#memory_int| v_prenex_81) 1)) (exists ((v_prenex_78 Int) (v_prenex_79 Int)) (and (= 0 (select |#memory_int| v_prenex_79)) (not (= v_prenex_79 v_prenex_78)) (not (= v_prenex_78 ULTIMATE.start_main_p2)) (not (= v_prenex_79 ULTIMATE.start_main_p2)) (= (select |#memory_int| v_prenex_78) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2))) (and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 2)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)))) (and (exists ((v_prenex_73 Int) (v_prenex_83 Int)) (and (= 1 (select |#memory_int| v_prenex_83)) (= (select |#memory_int| v_prenex_73) 1) (not (= v_prenex_73 v_prenex_83)))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((v_prenex_72 Int)) (= 0 (select |#memory_int| v_prenex_72)))))} is VALID [2018-12-23 14:23:27,965 INFO L273 TraceCheckUtils]: 5: Hoare triple {13550#(or (and (exists ((v_prenex_81 Int)) (= (select |#memory_int| v_prenex_81) 1)) (exists ((v_prenex_78 Int) (v_prenex_79 Int)) (and (= 0 (select |#memory_int| v_prenex_79)) (not (= v_prenex_79 v_prenex_78)) (not (= v_prenex_78 ULTIMATE.start_main_p2)) (not (= v_prenex_79 ULTIMATE.start_main_p2)) (= (select |#memory_int| v_prenex_78) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2))) (and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 2)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)))) (and (exists ((v_prenex_73 Int) (v_prenex_83 Int)) (and (= 1 (select |#memory_int| v_prenex_83)) (= (select |#memory_int| v_prenex_73) 1) (not (= v_prenex_73 v_prenex_83)))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((v_prenex_72 Int)) (= 0 (select |#memory_int| v_prenex_72)))))} assume !(#memory_int[main_p2] <= 0); {13530#false} is VALID [2018-12-23 14:23:27,966 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:23:27,966 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:23:28,089 INFO L273 TraceCheckUtils]: 5: Hoare triple {13557#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {13530#false} is VALID [2018-12-23 14:23:28,089 INFO L273 TraceCheckUtils]: 4: Hoare triple {13557#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {13557#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:23:28,090 INFO L273 TraceCheckUtils]: 3: Hoare triple {13564#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {13557#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:23:28,091 INFO L273 TraceCheckUtils]: 2: Hoare triple {13568#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {13564#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2018-12-23 14:23:28,092 INFO L273 TraceCheckUtils]: 1: Hoare triple {13572#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {13568#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2018-12-23 14:23:28,094 INFO L273 TraceCheckUtils]: 0: Hoare triple {13529#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {13572#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2018-12-23 14:23:28,094 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:23:28,115 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:23:28,115 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2018-12-23 14:23:28,116 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:23:28,116 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-23 14:23:28,116 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:23:28,116 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-23 14:23:28,143 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:23:28,143 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-23 14:23:28,143 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-23 14:23:28,143 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=122, Unknown=0, NotChecked=0, Total=182 [2018-12-23 14:23:28,143 INFO L87 Difference]: Start difference. First operand 75 states and 343 transitions. Second operand 10 states. [2018-12-23 14:23:34,906 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:23:34,906 INFO L93 Difference]: Finished difference Result 124 states and 454 transitions. [2018-12-23 14:23:34,906 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2018-12-23 14:23:34,906 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-23 14:23:34,907 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:23:34,907 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:23:34,907 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 77 transitions. [2018-12-23 14:23:34,907 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:23:34,907 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 77 transitions. [2018-12-23 14:23:34,907 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 77 transitions. [2018-12-23 14:23:35,056 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:23:35,059 INFO L225 Difference]: With dead ends: 124 [2018-12-23 14:23:35,059 INFO L226 Difference]: Without dead ends: 123 [2018-12-23 14:23:35,059 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 33 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=99, Invalid=207, Unknown=0, NotChecked=0, Total=306 [2018-12-23 14:23:35,059 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 123 states. [2018-12-23 14:23:39,388 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 123 to 78. [2018-12-23 14:23:39,388 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:23:39,388 INFO L82 GeneralOperation]: Start isEquivalent. First operand 123 states. Second operand 78 states. [2018-12-23 14:23:39,388 INFO L74 IsIncluded]: Start isIncluded. First operand 123 states. Second operand 78 states. [2018-12-23 14:23:39,388 INFO L87 Difference]: Start difference. First operand 123 states. Second operand 78 states. [2018-12-23 14:23:39,392 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:23:39,392 INFO L93 Difference]: Finished difference Result 123 states and 452 transitions. [2018-12-23 14:23:39,392 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 452 transitions. [2018-12-23 14:23:39,392 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:23:39,392 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:23:39,393 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand 123 states. [2018-12-23 14:23:39,393 INFO L87 Difference]: Start difference. First operand 78 states. Second operand 123 states. [2018-12-23 14:23:39,395 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:23:39,395 INFO L93 Difference]: Finished difference Result 123 states and 452 transitions. [2018-12-23 14:23:39,395 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 452 transitions. [2018-12-23 14:23:39,395 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:23:39,395 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:23:39,396 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:23:39,396 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:23:39,396 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 78 states. [2018-12-23 14:23:39,398 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 361 transitions. [2018-12-23 14:23:39,398 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 361 transitions. Word has length 6 [2018-12-23 14:23:39,398 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:23:39,398 INFO L480 AbstractCegarLoop]: Abstraction has 78 states and 361 transitions. [2018-12-23 14:23:39,398 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-23 14:23:39,398 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 361 transitions. [2018-12-23 14:23:39,399 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:23:39,399 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:23:39,399 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:23:39,399 INFO L423 AbstractCegarLoop]: === Iteration 40 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:23:39,399 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:23:39,399 INFO L82 PathProgramCache]: Analyzing trace with hash 906167070, now seen corresponding path program 1 times [2018-12-23 14:23:39,399 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:23:39,400 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:23:39,400 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:23:39,400 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:23:39,400 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:23:39,404 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:23:39,668 INFO L273 TraceCheckUtils]: 0: Hoare triple {14155#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {14157#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:23:39,669 INFO L273 TraceCheckUtils]: 1: Hoare triple {14157#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {14158#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:23:39,670 INFO L273 TraceCheckUtils]: 2: Hoare triple {14158#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {14158#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:23:39,671 INFO L273 TraceCheckUtils]: 3: Hoare triple {14158#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {14159#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:23:39,671 INFO L273 TraceCheckUtils]: 4: Hoare triple {14159#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {14159#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:23:39,672 INFO L273 TraceCheckUtils]: 5: Hoare triple {14159#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {14156#false} is VALID [2018-12-23 14:23:39,673 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-23 14:23:39,673 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:23:39,673 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:23:39,673 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-23 14:23:39,674 INFO L207 CegarAbsIntRunner]: [0], [6], [14], [20], [24], [25] [2018-12-23 14:23:39,678 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:23:39,678 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:23:39,693 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:23:39,693 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 60 root evaluator evaluations with a maximum evaluation depth of 2. Performed 60 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2018-12-23 14:23:39,693 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:23:39,693 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:23:39,693 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:23:39,693 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 37 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 37 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:23:39,703 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:23:39,703 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:23:39,707 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:23:39,712 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:23:39,712 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:23:39,754 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:23:39,760 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:23:39,765 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:39,767 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:39,767 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:23:39,777 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:39,779 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:39,780 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:39,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 25 treesize of output 51 [2018-12-23 14:23:39,795 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:39,796 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:39,797 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:39,798 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:39,799 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:23:39,802 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:23:39,831 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:23:39,847 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:23:39,859 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:23:39,870 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:23:39,899 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:39,900 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-23 14:23:39,948 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:39,949 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:39,950 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-23 14:23:40,004 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:40,005 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:40,007 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:40,008 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:40,008 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-23 14:23:40,074 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:40,075 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:40,076 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:40,077 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:40,079 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:40,080 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:40,080 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-23 14:23:40,082 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-12-23 14:23:40,099 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:23:40,116 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:23:40,131 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:23:40,167 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 2 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:23:40,167 INFO L202 ElimStorePlain]: Needed 10 recursive calls to eliminate 3 variables, input treesize:69, output treesize:66 [2018-12-23 14:23:40,175 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:23:40,175 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_208|, ULTIMATE.start_main_p4, |v_#valid_42|]. (let ((.cse1 (store |v_#valid_42| ULTIMATE.start_main_p1 1))) (let ((.cse2 (store .cse1 ULTIMATE.start_main_p2 1))) (let ((.cse0 (store .cse2 ULTIMATE.start_main_p3 1))) (and (= 0 (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= (select .cse1 ULTIMATE.start_main_p2) 0) (= 0 (select .cse0 ULTIMATE.start_main_p4)) (= |#memory_int| (store (store (store (store (store |v_#memory_int_208| 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)) (= 0 (select .cse2 ULTIMATE.start_main_p3)))))) [2018-12-23 14:23:40,175 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (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)) [2018-12-23 14:23:40,262 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:40,263 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2018-12-23 14:23:40,266 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:23:40,301 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:23:40,301 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:76, output treesize:50 [2018-12-23 14:23:40,313 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:23:40,313 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_209|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_209| ULTIMATE.start_main_p5))) (and (= 0 (select |v_#memory_int_209| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_209| ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_209| ULTIMATE.start_main_p5 (+ .cse0 1))) (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)) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_209| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_209| ULTIMATE.start_main_p3)))) [2018-12-23 14:23:40,314 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:23:40,382 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:40,383 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:40,384 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:40,385 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:40,386 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:40,387 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:40,388 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:23:40,389 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 80 [2018-12-23 14:23:40,392 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:23:40,429 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:23:40,429 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:60, output treesize:42 [2018-12-23 14:23:40,442 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:23:40,442 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_210|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_210| ULTIMATE.start_main_p1))) (and (= (store |v_#memory_int_210| 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_p2)) (= 0 (select |v_#memory_int_210| ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= .cse0 0) (= 1 (select |v_#memory_int_210| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_210| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_210| ULTIMATE.start_main_p2) 0))) [2018-12-23 14:23:40,442 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:23:40,505 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:40,506 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:40,508 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:40,509 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:40,510 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:40,511 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:40,512 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:40,513 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:40,514 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:23:40,515 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 80 [2018-12-23 14:23:40,522 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:23:40,558 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:23:40,559 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:52, output treesize:42 [2018-12-23 14:23:40,585 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:23:40,585 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_211|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_211| ULTIMATE.start_main_p3))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 1 (select |v_#memory_int_211| ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_211| ULTIMATE.start_main_p3 (+ .cse0 1))) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_211| ULTIMATE.start_main_p5) 1) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_211| ULTIMATE.start_main_p4) 0) (= .cse0 0) (= (select |v_#memory_int_211| ULTIMATE.start_main_p2) 0))) [2018-12-23 14:23:40,585 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:23:40,646 INFO L273 TraceCheckUtils]: 0: Hoare triple {14155#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {14163#(and (exists ((ULTIMATE.start_main_p4 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (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)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.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)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:23:40,649 INFO L273 TraceCheckUtils]: 1: Hoare triple {14163#(and (exists ((ULTIMATE.start_main_p4 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (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)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.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)) (= 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_p5 := #memory_int[main_p5] + 1]; {14167#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| 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)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (not (= ULTIMATE.start_main_p3 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_p1 ULTIMATE.start_main_p4)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:23:40,651 INFO L273 TraceCheckUtils]: 2: Hoare triple {14167#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| 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)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (not (= ULTIMATE.start_main_p3 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_p1 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_p1 := #memory_int[main_p1] + 1]; {14171#(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)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:23:40,654 INFO L273 TraceCheckUtils]: 3: Hoare triple {14171#(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)))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 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]; {14175#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-23 14:23:40,655 INFO L273 TraceCheckUtils]: 4: Hoare triple {14175#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {14175#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-23 14:23:40,656 INFO L273 TraceCheckUtils]: 5: Hoare triple {14175#(and (exists ((ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p3 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p2] <= 0); {14156#false} is VALID [2018-12-23 14:23:40,657 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:23:40,657 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:23:40,724 INFO L273 TraceCheckUtils]: 5: Hoare triple {14182#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {14156#false} is VALID [2018-12-23 14:23:40,724 INFO L273 TraceCheckUtils]: 4: Hoare triple {14182#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {14182#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:23:40,725 INFO L273 TraceCheckUtils]: 3: Hoare triple {14189#(<= (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]; {14182#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:23:40,727 INFO L273 TraceCheckUtils]: 2: Hoare triple {14193#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {14189#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:23:40,729 INFO L273 TraceCheckUtils]: 1: Hoare triple {14197#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {14193#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:23:40,731 INFO L273 TraceCheckUtils]: 0: Hoare triple {14155#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {14197#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:23:40,732 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:23:40,751 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:23:40,752 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 4, 4] total 11 [2018-12-23 14:23:40,752 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:23:40,752 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 6 [2018-12-23 14:23:40,752 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:23:40,752 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-12-23 14:23:40,773 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:23:40,773 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-12-23 14:23:40,773 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-12-23 14:23:40,774 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=99, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:23:40,774 INFO L87 Difference]: Start difference. First operand 78 states and 361 transitions. Second operand 9 states. [2018-12-23 14:23:47,122 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:23:47,122 INFO L93 Difference]: Finished difference Result 114 states and 434 transitions. [2018-12-23 14:23:47,122 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-23 14:23:47,122 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 6 [2018-12-23 14:23:47,122 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:23:47,122 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-12-23 14:23:47,123 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 64 transitions. [2018-12-23 14:23:47,123 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-12-23 14:23:47,123 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 64 transitions. [2018-12-23 14:23:47,123 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 64 transitions. [2018-12-23 14:23:47,249 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:23:47,252 INFO L225 Difference]: With dead ends: 114 [2018-12-23 14:23:47,252 INFO L226 Difference]: Without dead ends: 113 [2018-12-23 14:23:47,252 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 2 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 51 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=87, Invalid=153, Unknown=0, NotChecked=0, Total=240 [2018-12-23 14:23:47,252 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 113 states. [2018-12-23 14:23:51,970 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 113 to 84. [2018-12-23 14:23:51,971 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:23:51,971 INFO L82 GeneralOperation]: Start isEquivalent. First operand 113 states. Second operand 84 states. [2018-12-23 14:23:51,971 INFO L74 IsIncluded]: Start isIncluded. First operand 113 states. Second operand 84 states. [2018-12-23 14:23:51,971 INFO L87 Difference]: Start difference. First operand 113 states. Second operand 84 states. [2018-12-23 14:23:51,974 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:23:51,974 INFO L93 Difference]: Finished difference Result 113 states and 432 transitions. [2018-12-23 14:23:51,974 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 432 transitions. [2018-12-23 14:23:51,975 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:23:51,975 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:23:51,975 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand 113 states. [2018-12-23 14:23:51,975 INFO L87 Difference]: Start difference. First operand 84 states. Second operand 113 states. [2018-12-23 14:23:51,977 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:23:51,977 INFO L93 Difference]: Finished difference Result 113 states and 432 transitions. [2018-12-23 14:23:51,977 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 432 transitions. [2018-12-23 14:23:51,977 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:23:51,977 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:23:51,978 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:23:51,978 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:23:51,978 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 84 states. [2018-12-23 14:23:51,979 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 397 transitions. [2018-12-23 14:23:51,980 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 397 transitions. Word has length 6 [2018-12-23 14:23:51,980 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:23:51,980 INFO L480 AbstractCegarLoop]: Abstraction has 84 states and 397 transitions. [2018-12-23 14:23:51,980 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-12-23 14:23:51,980 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 397 transitions. [2018-12-23 14:23:51,980 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:23:51,980 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:23:51,980 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:23:51,980 INFO L423 AbstractCegarLoop]: === Iteration 41 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:23:51,980 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:23:51,981 INFO L82 PathProgramCache]: Analyzing trace with hash 906278546, now seen corresponding path program 2 times [2018-12-23 14:23:51,981 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:23:51,981 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:23:51,981 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:23:51,981 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:23:51,982 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:23:51,984 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:23:52,115 INFO L273 TraceCheckUtils]: 0: Hoare triple {14758#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {14760#(and (or (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p5) 0)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (or (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)) (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)))} is VALID [2018-12-23 14:23:52,116 INFO L273 TraceCheckUtils]: 1: Hoare triple {14760#(and (or (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p5) 0)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (or (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)) (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {14761#(and (<= (select |#memory_int| ULTIMATE.start_main_p2) 1) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:23:52,117 INFO L273 TraceCheckUtils]: 2: Hoare triple {14761#(and (<= (select |#memory_int| ULTIMATE.start_main_p2) 1) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {14762#(and (<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:23:52,118 INFO L273 TraceCheckUtils]: 3: Hoare triple {14762#(and (<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {14763#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:23:52,119 INFO L273 TraceCheckUtils]: 4: Hoare triple {14763#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {14763#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:23:52,119 INFO L273 TraceCheckUtils]: 5: Hoare triple {14763#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {14759#false} is VALID [2018-12-23 14:23:52,120 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:23:52,120 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:23:52,120 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:23:52,120 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-23 14:23:52,121 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2018-12-23 14:23:52,121 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:23:52,121 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 38 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 38 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:23:52,129 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2018-12-23 14:23:52,129 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2018-12-23 14:23:52,136 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2018-12-23 14:23:52,136 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-23 14:23:52,139 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:23:52,140 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:23:52,181 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 18 treesize of output 21 [2018-12-23 14:23:52,189 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2018-12-23 14:23:52,196 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,197 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,198 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:23:52,208 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,210 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,211 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,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, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:23:52,227 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,228 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,229 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,230 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,231 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2018-12-23 14:23:52,235 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:23:52,265 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:23:52,282 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:23:52,296 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:23:52,307 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:23:52,336 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,337 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 2 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 54 [2018-12-23 14:23:52,388 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,389 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,390 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 53 [2018-12-23 14:23:52,447 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,448 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,449 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,450 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,451 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 61 [2018-12-23 14:23:52,518 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,519 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,520 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,521 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,522 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,524 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,524 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 41 [2018-12-23 14:23:52,527 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-12-23 14:23:52,544 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:23:52,561 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:23:52,576 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:23:52,615 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:23:52,616 INFO L202 ElimStorePlain]: Needed 10 recursive calls to eliminate 4 variables, input treesize:69, output treesize:66 [2018-12-23 14:23:52,627 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:23:52,627 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_215|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, |v_#valid_43|]. (let ((.cse1 (store |v_#valid_43| 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 .cse0 ULTIMATE.start_main_p4)) (= (select .cse1 ULTIMATE.start_main_p2) 0) (= 0 (select .cse2 ULTIMATE.start_main_p3)) (= (store (store (store (store (store |v_#memory_int_215| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|))))) [2018-12-23 14:23:52,627 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [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)) (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)) [2018-12-23 14:23:52,711 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,712 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2018-12-23 14:23:52,716 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:23:52,755 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:23:52,755 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:76, output treesize:50 [2018-12-23 14:23:52,767 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:23:52,767 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_216|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_216| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_216| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_216| ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_216| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_216| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= 0 .cse0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_216| 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)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-23 14:23:52,767 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:23:52,837 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,838 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,839 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,840 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,841 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,842 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,843 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,844 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 86 [2018-12-23 14:23:52,849 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:23:52,887 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:23:52,888 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:60, output treesize:38 [2018-12-23 14:23:52,897 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:23:52,897 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_217|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_217| ULTIMATE.start_main_p2))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (store |v_#memory_int_217| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_217| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_217| ULTIMATE.start_main_p5) 1) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 .cse0) (= (select |v_#memory_int_217| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_217| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) [2018-12-23 14:23:52,897 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:23:52,949 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,951 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,952 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,953 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,954 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,955 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,956 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,957 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,958 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,959 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,960 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:23:52,960 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:23:52,961 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 98 [2018-12-23 14:23:52,966 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:23:53,005 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2018-12-23 14:23:53,006 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:36 [2018-12-23 14:23:54,218 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:23:54,219 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_218|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_218| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_218| ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 1 (select |v_#memory_int_218| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_218| ULTIMATE.start_main_p3) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (+ (select |v_#memory_int_218| ULTIMATE.start_main_p2) 1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (store |v_#memory_int_218| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|))) [2018-12-23 14:23:54,219 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-23 14:23:54,273 INFO L273 TraceCheckUtils]: 0: Hoare triple {14758#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {14767#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2018-12-23 14:23:54,275 INFO L273 TraceCheckUtils]: 1: Hoare triple {14767#(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]; {14771#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2018-12-23 14:23:54,277 INFO L273 TraceCheckUtils]: 2: Hoare triple {14771#(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]; {14775#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2018-12-23 14:23:54,279 INFO L273 TraceCheckUtils]: 3: Hoare triple {14775#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (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)))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {14779#(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)))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:23:54,280 INFO L273 TraceCheckUtils]: 4: Hoare triple {14779#(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)))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {14779#(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)))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:23:54,281 INFO L273 TraceCheckUtils]: 5: Hoare triple {14779#(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)))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {14759#false} is VALID [2018-12-23 14:23:54,282 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:23:54,282 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:23:54,335 INFO L273 TraceCheckUtils]: 5: Hoare triple {14763#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {14759#false} is VALID [2018-12-23 14:23:54,336 INFO L273 TraceCheckUtils]: 4: Hoare triple {14763#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {14763#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:23:54,337 INFO L273 TraceCheckUtils]: 3: Hoare triple {14792#(<= (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]; {14763#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:23:54,338 INFO L273 TraceCheckUtils]: 2: Hoare triple {14796#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {14792#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:23:54,340 INFO L273 TraceCheckUtils]: 1: Hoare triple {14800#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (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) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {14796#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:23:54,342 INFO L273 TraceCheckUtils]: 0: Hoare triple {14758#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {14800#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (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) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:23:54,342 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 3 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:23:54,362 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:23:54,362 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2018-12-23 14:23:54,362 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:23:54,362 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-23 14:23:54,363 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:23:54,363 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2018-12-23 14:23:54,382 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:23:54,382 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2018-12-23 14:23:54,383 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2018-12-23 14:23:54,383 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=64, Invalid=92, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:23:54,383 INFO L87 Difference]: Start difference. First operand 84 states and 397 transitions. Second operand 10 states. [2018-12-23 14:24:03,400 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:24:03,400 INFO L93 Difference]: Finished difference Result 164 states and 664 transitions. [2018-12-23 14:24:03,400 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2018-12-23 14:24:03,400 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2018-12-23 14:24:03,400 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:24:03,400 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:24:03,401 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 86 transitions. [2018-12-23 14:24:03,401 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2018-12-23 14:24:03,401 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 86 transitions. [2018-12-23 14:24:03,401 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 86 transitions. [2018-12-23 14:24:03,527 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:24:03,531 INFO L225 Difference]: With dead ends: 164 [2018-12-23 14:24:03,531 INFO L226 Difference]: Without dead ends: 163 [2018-12-23 14:24:03,531 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 57 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=73, Invalid=109, Unknown=0, NotChecked=0, Total=182 [2018-12-23 14:24:03,532 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 163 states. [2018-12-23 14:24:11,149 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 163 to 117. [2018-12-23 14:24:11,150 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:24:11,150 INFO L82 GeneralOperation]: Start isEquivalent. First operand 163 states. Second operand 117 states. [2018-12-23 14:24:11,150 INFO L74 IsIncluded]: Start isIncluded. First operand 163 states. Second operand 117 states. [2018-12-23 14:24:11,150 INFO L87 Difference]: Start difference. First operand 163 states. Second operand 117 states. [2018-12-23 14:24:11,156 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:24:11,156 INFO L93 Difference]: Finished difference Result 163 states and 662 transitions. [2018-12-23 14:24:11,156 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 662 transitions. [2018-12-23 14:24:11,156 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:24:11,157 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:24:11,157 INFO L74 IsIncluded]: Start isIncluded. First operand 117 states. Second operand 163 states. [2018-12-23 14:24:11,157 INFO L87 Difference]: Start difference. First operand 117 states. Second operand 163 states. [2018-12-23 14:24:11,161 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:24:11,161 INFO L93 Difference]: Finished difference Result 163 states and 662 transitions. [2018-12-23 14:24:11,161 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 662 transitions. [2018-12-23 14:24:11,162 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:24:11,162 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:24:11,162 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:24:11,162 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:24:11,162 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 117 states. [2018-12-23 14:24:11,166 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 117 states to 117 states and 595 transitions. [2018-12-23 14:24:11,166 INFO L78 Accepts]: Start accepts. Automaton has 117 states and 595 transitions. Word has length 6 [2018-12-23 14:24:11,166 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:24:11,166 INFO L480 AbstractCegarLoop]: Abstraction has 117 states and 595 transitions. [2018-12-23 14:24:11,166 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2018-12-23 14:24:11,166 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 595 transitions. [2018-12-23 14:24:11,167 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:24:11,167 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:24:11,167 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:24:11,167 INFO L423 AbstractCegarLoop]: === Iteration 42 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:24:11,167 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:24:11,167 INFO L82 PathProgramCache]: Analyzing trace with hash 906295908, now seen corresponding path program 1 times [2018-12-23 14:24:11,168 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:24:11,168 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:24:11,168 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2018-12-23 14:24:11,168 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:24:11,168 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:24:11,171 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:24:11,241 INFO L273 TraceCheckUtils]: 0: Hoare triple {15609#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {15611#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:24:11,242 INFO L273 TraceCheckUtils]: 1: Hoare triple {15611#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {15612#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:24:11,243 INFO L273 TraceCheckUtils]: 2: Hoare triple {15612#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {15612#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:24:11,244 INFO L273 TraceCheckUtils]: 3: Hoare triple {15612#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} assume #memory_int[main_p1] >= 0; {15612#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:24:11,245 INFO L273 TraceCheckUtils]: 4: Hoare triple {15612#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} assume #memory_int[main_p2] <= 0; {15613#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-23 14:24:11,245 INFO L273 TraceCheckUtils]: 5: Hoare triple {15613#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {15610#false} is VALID [2018-12-23 14:24:11,246 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-23 14:24:11,246 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:24:11,246 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:24:11,246 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-23 14:24:11,247 INFO L207 CegarAbsIntRunner]: [0], [10], [20], [24], [26], [27] [2018-12-23 14:24:11,247 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:24:11,248 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:24:11,255 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:24:11,256 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 60 root evaluator evaluations with a maximum evaluation depth of 2. Performed 60 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:24:11,256 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:24:11,256 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:24:11,256 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:24:11,256 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 39 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 39 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:24:11,268 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:24:11,268 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:24:11,272 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:24:11,276 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:24:11,277 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:24:11,294 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 39 [2018-12-23 14:24:11,320 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:11,323 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:11,323 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 49 [2018-12-23 14:24:11,374 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:11,376 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:11,378 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:11,379 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:11,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, 6 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 57 [2018-12-23 14:24:11,443 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:11,444 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:11,445 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:11,446 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:11,447 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:11,450 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:11,450 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 37 [2018-12-23 14:24:11,453 INFO L267 ElimStorePlain]: Start of recursive call 5: End of recursive call: and 1 xjuncts. [2018-12-23 14:24:11,470 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:24:11,484 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:24:11,502 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:24:11,526 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:24:11,536 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 6 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:24:11,548 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 8 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 33 [2018-12-23 14:24:11,563 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 9 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 47 [2018-12-23 14:24:11,582 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 62 [2018-12-23 14:24:11,585 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-12-23 14:24:11,610 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:24:11,623 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:24:11,634 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:24:11,645 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:24:11,681 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:24:11,681 INFO L202 ElimStorePlain]: Needed 10 recursive calls to eliminate 4 variables, input treesize:61, output treesize:62 [2018-12-23 14:24:11,692 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:24:11,692 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_222|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, |v_#valid_44|]. (let ((.cse1 (store (store |v_#valid_44| ULTIMATE.start_main_p1 1) 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)) (= (select (store .cse0 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5) 0) (= (store (store (store (store (store |v_#memory_int_222| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|)))) [2018-12-23 14:24:11,693 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (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)) (= (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)) [2018-12-23 14:24:11,779 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:11,780 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 68 [2018-12-23 14:24:11,784 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:24:11,818 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:24:11,818 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:72, output treesize:46 [2018-12-23 14:24:14,340 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:24:14,341 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_223|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_223| ULTIMATE.start_main_p5))) (and (= 0 (select |v_#memory_int_223| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_223| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_223| ULTIMATE.start_main_p4) 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)) (= 0 (select |v_#memory_int_223| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_223| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-23 14:24:14,341 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (and (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_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)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:24:14,437 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:14,438 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:14,439 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:14,440 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:14,443 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:14,444 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:14,445 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:14,454 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 12 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 36 treesize of output 86 [2018-12-23 14:24:14,460 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 2 xjuncts. [2018-12-23 14:24:14,569 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 7 dim-0 vars, and 2 xjuncts. [2018-12-23 14:24:14,569 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:56, output treesize:72 [2018-12-23 14:24:16,977 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:24:16,977 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_224|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_224| ULTIMATE.start_main_p2))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |v_#memory_int_224| ULTIMATE.start_main_p1) 0) (= .cse0 0) (= 0 (select |v_#memory_int_224| ULTIMATE.start_main_p4)) (= (store |v_#memory_int_224| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_224| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_224| ULTIMATE.start_main_p5) 1))) [2018-12-23 14:24:16,977 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_86, ULTIMATE.start_main_p1, v_prenex_88, v_prenex_87, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (= (select |#memory_int| ULTIMATE.start_main_p3) 0))) (or (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (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)) .cse0 (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) (and (not (= ULTIMATE.start_main_p3 v_prenex_86)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (- 1) (select |#memory_int| v_prenex_88)) (= 1 (select |#memory_int| v_prenex_87)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) .cse0 (= (select |#memory_int| v_prenex_86) 0) (not (= ULTIMATE.start_main_p1 v_prenex_86))))) [2018-12-23 14:24:17,113 INFO L273 TraceCheckUtils]: 0: Hoare triple {15609#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {15617#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (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_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:24:17,115 INFO L273 TraceCheckUtils]: 1: Hoare triple {15617#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (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_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))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {15621#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| 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) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (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) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} is VALID [2018-12-23 14:24:17,117 INFO L273 TraceCheckUtils]: 2: Hoare triple {15621#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (select |#memory_int| 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) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 Int)) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (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) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {15625#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (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 (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)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-23 14:24:17,118 INFO L273 TraceCheckUtils]: 3: Hoare triple {15625#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (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 (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)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {15625#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (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 (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)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-23 14:24:17,119 INFO L273 TraceCheckUtils]: 4: Hoare triple {15625#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (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 (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)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p2] <= 0; {15625#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (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 (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)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2018-12-23 14:24:17,120 INFO L273 TraceCheckUtils]: 5: Hoare triple {15625#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 1 (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 (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)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p3] >= 0); {15610#false} is VALID [2018-12-23 14:24:17,121 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:24:17,121 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:24:17,166 INFO L273 TraceCheckUtils]: 5: Hoare triple {15635#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {15610#false} is VALID [2018-12-23 14:24:17,167 INFO L273 TraceCheckUtils]: 4: Hoare triple {15635#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {15635#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:24:17,167 INFO L273 TraceCheckUtils]: 3: Hoare triple {15635#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {15635#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:24:17,168 INFO L273 TraceCheckUtils]: 2: Hoare triple {15645#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {15635#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:24:17,170 INFO L273 TraceCheckUtils]: 1: Hoare triple {15649#(<= 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_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {15645#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:24:17,172 INFO L273 TraceCheckUtils]: 0: Hoare triple {15609#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {15649#(<= 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_p3))} is VALID [2018-12-23 14:24:17,172 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:24:17,190 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:24:17,191 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:24:17,191 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:24:17,191 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-23 14:24:17,191 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:24:17,191 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:24:17,210 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:24:17,210 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:24:17,210 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:24:17,210 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:24:17,210 INFO L87 Difference]: Start difference. First operand 117 states and 595 transitions. Second operand 8 states. [2018-12-23 14:24:26,747 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:24:26,747 INFO L93 Difference]: Finished difference Result 160 states and 722 transitions. [2018-12-23 14:24:26,747 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-23 14:24:26,747 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-23 14:24:26,747 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:24:26,747 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:24:26,748 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2018-12-23 14:24:26,748 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:24:26,748 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2018-12-23 14:24:26,748 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 54 transitions. [2018-12-23 14:24:26,824 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:24:26,827 INFO L225 Difference]: With dead ends: 160 [2018-12-23 14:24:26,827 INFO L226 Difference]: Without dead ends: 159 [2018-12-23 14:24:26,827 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 4 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:24:26,828 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 159 states. [2018-12-23 14:24:35,717 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 159 to 134. [2018-12-23 14:24:35,717 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:24:35,717 INFO L82 GeneralOperation]: Start isEquivalent. First operand 159 states. Second operand 134 states. [2018-12-23 14:24:35,717 INFO L74 IsIncluded]: Start isIncluded. First operand 159 states. Second operand 134 states. [2018-12-23 14:24:35,718 INFO L87 Difference]: Start difference. First operand 159 states. Second operand 134 states. [2018-12-23 14:24:35,722 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:24:35,722 INFO L93 Difference]: Finished difference Result 159 states and 720 transitions. [2018-12-23 14:24:35,722 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 720 transitions. [2018-12-23 14:24:35,722 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:24:35,723 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:24:35,723 INFO L74 IsIncluded]: Start isIncluded. First operand 134 states. Second operand 159 states. [2018-12-23 14:24:35,723 INFO L87 Difference]: Start difference. First operand 134 states. Second operand 159 states. [2018-12-23 14:24:35,727 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:24:35,727 INFO L93 Difference]: Finished difference Result 159 states and 720 transitions. [2018-12-23 14:24:35,727 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 720 transitions. [2018-12-23 14:24:35,727 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:24:35,727 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:24:35,727 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:24:35,727 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:24:35,728 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 134 states. [2018-12-23 14:24:35,731 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 134 states to 134 states and 697 transitions. [2018-12-23 14:24:35,731 INFO L78 Accepts]: Start accepts. Automaton has 134 states and 697 transitions. Word has length 6 [2018-12-23 14:24:35,731 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:24:35,731 INFO L480 AbstractCegarLoop]: Abstraction has 134 states and 697 transitions. [2018-12-23 14:24:35,731 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:24:35,731 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 697 transitions. [2018-12-23 14:24:35,731 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:24:35,731 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:24:35,731 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:24:35,732 INFO L423 AbstractCegarLoop]: === Iteration 43 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:24:35,732 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:24:35,732 INFO L82 PathProgramCache]: Analyzing trace with hash 893604942, now seen corresponding path program 1 times [2018-12-23 14:24:35,732 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:24:35,732 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:24:35,733 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:24:35,733 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:24:35,733 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:24:35,737 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:24:35,815 INFO L273 TraceCheckUtils]: 0: Hoare triple {16494#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {16496#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (or (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:24:35,816 INFO L273 TraceCheckUtils]: 1: Hoare triple {16496#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (or (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {16496#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (or (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:24:35,817 INFO L273 TraceCheckUtils]: 2: Hoare triple {16496#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (or (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {16497#(or (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:24:35,818 INFO L273 TraceCheckUtils]: 3: Hoare triple {16497#(or (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p1] >= 0; {16498#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:24:35,819 INFO L273 TraceCheckUtils]: 4: Hoare triple {16498#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {16498#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:24:35,819 INFO L273 TraceCheckUtils]: 5: Hoare triple {16498#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {16495#false} is VALID [2018-12-23 14:24:35,820 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-23 14:24:35,820 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:24:35,820 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:24:35,820 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-23 14:24:35,820 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [24], [26], [27] [2018-12-23 14:24:35,821 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:24:35,821 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:24:35,831 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:24:35,831 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 60 root evaluator evaluations with a maximum evaluation depth of 2. Performed 60 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:24:35,831 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:24:35,832 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:24:35,832 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:24:35,832 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 40 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 40 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:24:35,841 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:24:35,841 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:24:35,845 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:24:35,848 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:24:35,849 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:24:35,863 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:24:35,871 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:24:35,881 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:35,882 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:35,883 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 33 [2018-12-23 14:24:35,894 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:35,896 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:35,897 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:35,897 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 5 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 47 [2018-12-23 14:24:35,919 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 5 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 46 [2018-12-23 14:24:35,924 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:24:35,944 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:24:35,958 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:24:35,970 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:24:35,982 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:24:36,000 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 26 treesize of output 25 [2018-12-23 14:24:36,020 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:36,023 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:36,023 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 22 treesize of output 38 [2018-12-23 14:24:36,066 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:36,067 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:36,069 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:36,070 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:36,071 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 21 [2018-12-23 14:24:36,073 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-23 14:24:36,083 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:24:36,093 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:24:36,116 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:24:36,116 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 4 variables, input treesize:44, output treesize:46 [2018-12-23 14:24:36,126 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:24:36,126 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_227|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, |v_#valid_45|]. (let ((.cse0 (store (store |v_#valid_45| ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p3)) (= 0 (select (store .cse0 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4)) (= |#memory_int| (store (store (store (store (store |v_#memory_int_227| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)))) [2018-12-23 14:24:36,126 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (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_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (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) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:24:36,195 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:36,196 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 34 [2018-12-23 14:24:36,202 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:24:36,214 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:24:36,214 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:38, output treesize:20 [2018-12-23 14:24:38,707 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:24:38,707 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_228|, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_228| ULTIMATE.start_main_p1))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 .cse0) (= (select |v_#memory_int_228| ULTIMATE.start_main_p3) 0) (= 0 (select |v_#memory_int_228| ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_228| ULTIMATE.start_main_p1 (+ .cse0 1))) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) [2018-12-23 14:24:38,707 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:24:38,857 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:38,858 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:38,859 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:38,860 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:38,861 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:24:38,862 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2018-12-23 14:24:38,866 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:24:38,880 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:24:38,881 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:30, output treesize:16 [2018-12-23 14:24:38,950 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:24:38,950 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_229|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_229| ULTIMATE.start_main_p4))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 .cse0) (= (select |v_#memory_int_229| ULTIMATE.start_main_p1) 1) (= (store |v_#memory_int_229| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_229| ULTIMATE.start_main_p3)))) [2018-12-23 14:24:38,951 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0)) [2018-12-23 14:24:39,003 INFO L273 TraceCheckUtils]: 0: Hoare triple {16494#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {16502#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2018-12-23 14:24:39,005 INFO L273 TraceCheckUtils]: 1: Hoare triple {16502#(and (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_p1 := #memory_int[main_p1] + 1]; {16506#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:24:39,006 INFO L273 TraceCheckUtils]: 2: Hoare triple {16506#(and (exists ((ULTIMATE.start_main_p1 Int)) (= (select |#memory_int| ULTIMATE.start_main_p1) 1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (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]; {16510#(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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:24:39,007 INFO L273 TraceCheckUtils]: 3: Hoare triple {16510#(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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p1] >= 0; {16510#(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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:24:39,008 INFO L273 TraceCheckUtils]: 4: Hoare triple {16510#(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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p2] <= 0; {16510#(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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:24:39,008 INFO L273 TraceCheckUtils]: 5: Hoare triple {16510#(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)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume !(#memory_int[main_p3] >= 0); {16495#false} is VALID [2018-12-23 14:24:39,009 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:24:39,009 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:24:39,040 INFO L273 TraceCheckUtils]: 5: Hoare triple {16498#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {16495#false} is VALID [2018-12-23 14:24:39,040 INFO L273 TraceCheckUtils]: 4: Hoare triple {16498#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {16498#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:24:39,041 INFO L273 TraceCheckUtils]: 3: Hoare triple {16498#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {16498#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:24:39,042 INFO L273 TraceCheckUtils]: 2: Hoare triple {16529#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {16498#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:24:39,043 INFO L273 TraceCheckUtils]: 1: Hoare triple {16533#(<= 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_p3))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {16529#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:24:39,045 INFO L273 TraceCheckUtils]: 0: Hoare triple {16494#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {16533#(<= 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_p3))} is VALID [2018-12-23 14:24:39,045 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:24:39,064 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:24:39,064 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2018-12-23 14:24:39,065 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:24:39,065 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-23 14:24:39,065 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:24:39,065 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:24:39,079 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:24:39,079 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:24:39,079 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:24:39,079 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=58, Unknown=0, NotChecked=0, Total=90 [2018-12-23 14:24:39,080 INFO L87 Difference]: Start difference. First operand 134 states and 697 transitions. Second operand 8 states. [2018-12-23 14:24:49,000 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:24:49,000 INFO L93 Difference]: Finished difference Result 175 states and 783 transitions. [2018-12-23 14:24:49,000 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2018-12-23 14:24:49,000 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-23 14:24:49,000 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:24:49,001 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:24:49,001 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 63 transitions. [2018-12-23 14:24:49,001 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:24:49,001 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 63 transitions. [2018-12-23 14:24:49,002 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 63 transitions. [2018-12-23 14:24:49,073 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:24:49,077 INFO L225 Difference]: With dead ends: 175 [2018-12-23 14:24:49,078 INFO L226 Difference]: Without dead ends: 174 [2018-12-23 14:24:49,078 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 5 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=50, Invalid=82, Unknown=0, NotChecked=0, Total=132 [2018-12-23 14:24:49,078 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 174 states. [2018-12-23 14:24:58,054 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 174 to 132. [2018-12-23 14:24:58,054 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:24:58,054 INFO L82 GeneralOperation]: Start isEquivalent. First operand 174 states. Second operand 132 states. [2018-12-23 14:24:58,054 INFO L74 IsIncluded]: Start isIncluded. First operand 174 states. Second operand 132 states. [2018-12-23 14:24:58,054 INFO L87 Difference]: Start difference. First operand 174 states. Second operand 132 states. [2018-12-23 14:24:58,060 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:24:58,060 INFO L93 Difference]: Finished difference Result 174 states and 780 transitions. [2018-12-23 14:24:58,061 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 780 transitions. [2018-12-23 14:24:58,061 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:24:58,061 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:24:58,061 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand 174 states. [2018-12-23 14:24:58,062 INFO L87 Difference]: Start difference. First operand 132 states. Second operand 174 states. [2018-12-23 14:24:58,066 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:24:58,066 INFO L93 Difference]: Finished difference Result 174 states and 780 transitions. [2018-12-23 14:24:58,066 INFO L276 IsEmpty]: Start isEmpty. Operand 174 states and 780 transitions. [2018-12-23 14:24:58,066 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:24:58,066 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:24:58,066 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:24:58,066 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:24:58,067 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 132 states. [2018-12-23 14:24:58,069 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 685 transitions. [2018-12-23 14:24:58,070 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 685 transitions. Word has length 6 [2018-12-23 14:24:58,070 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:24:58,070 INFO L480 AbstractCegarLoop]: Abstraction has 132 states and 685 transitions. [2018-12-23 14:24:58,070 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:24:58,070 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 685 transitions. [2018-12-23 14:24:58,070 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:24:58,070 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:24:58,071 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:24:58,071 INFO L423 AbstractCegarLoop]: === Iteration 44 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:24:58,071 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:24:58,071 INFO L82 PathProgramCache]: Analyzing trace with hash 893366614, now seen corresponding path program 1 times [2018-12-23 14:24:58,071 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:24:58,071 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:24:58,071 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:24:58,072 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:24:58,072 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:24:58,076 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:24:58,289 INFO L273 TraceCheckUtils]: 0: Hoare triple {17428#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {17430#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (or (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:24:58,290 INFO L273 TraceCheckUtils]: 1: Hoare triple {17430#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (or (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {17430#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (or (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:24:58,291 INFO L273 TraceCheckUtils]: 2: Hoare triple {17430#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (or (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {17430#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (or (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:24:58,292 INFO L273 TraceCheckUtils]: 3: Hoare triple {17430#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (or (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} assume #memory_int[main_p1] >= 0; {17431#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= 0 (select |#memory_int| ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:24:58,293 INFO L273 TraceCheckUtils]: 4: Hoare triple {17431#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= 0 (select |#memory_int| ULTIMATE.start_main_p3)))} assume #memory_int[main_p2] <= 0; {17432#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:24:58,293 INFO L273 TraceCheckUtils]: 5: Hoare triple {17432#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {17429#false} is VALID [2018-12-23 14:24:58,294 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2018-12-23 14:24:58,294 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-12-23 14:24:58,294 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2018-12-23 14:24:58,294 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-23 14:24:58,295 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 6 [2018-12-23 14:24:58,295 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:24:58,295 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states. [2018-12-23 14:24:58,301 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:24:58,301 INFO L459 AbstractCegarLoop]: Interpolant automaton has 5 states [2018-12-23 14:24:58,301 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2018-12-23 14:24:58,301 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2018-12-23 14:24:58,302 INFO L87 Difference]: Start difference. First operand 132 states and 685 transitions. Second operand 5 states. [2018-12-23 14:25:10,237 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:25:10,237 INFO L93 Difference]: Finished difference Result 185 states and 858 transitions. [2018-12-23 14:25:10,237 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2018-12-23 14:25:10,237 INFO L78 Accepts]: Start accepts. Automaton has 5 states. Word has length 6 [2018-12-23 14:25:10,237 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:25:10,237 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-12-23 14:25:10,238 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 39 transitions. [2018-12-23 14:25:10,238 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-12-23 14:25:10,239 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 39 transitions. [2018-12-23 14:25:10,239 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 39 transitions. [2018-12-23 14:25:10,281 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:25:10,286 INFO L225 Difference]: With dead ends: 185 [2018-12-23 14:25:10,286 INFO L226 Difference]: Without dead ends: 184 [2018-12-23 14:25:10,286 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 0 SyntacticMatches, 2 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=13, Invalid=17, Unknown=0, NotChecked=0, Total=30 [2018-12-23 14:25:10,286 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 184 states. [2018-12-23 14:25:20,598 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 184 to 132. [2018-12-23 14:25:20,598 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:25:20,598 INFO L82 GeneralOperation]: Start isEquivalent. First operand 184 states. Second operand 132 states. [2018-12-23 14:25:20,598 INFO L74 IsIncluded]: Start isIncluded. First operand 184 states. Second operand 132 states. [2018-12-23 14:25:20,598 INFO L87 Difference]: Start difference. First operand 184 states. Second operand 132 states. [2018-12-23 14:25:20,607 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:25:20,607 INFO L93 Difference]: Finished difference Result 184 states and 856 transitions. [2018-12-23 14:25:20,607 INFO L276 IsEmpty]: Start isEmpty. Operand 184 states and 856 transitions. [2018-12-23 14:25:20,607 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:25:20,608 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:25:20,608 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand 184 states. [2018-12-23 14:25:20,608 INFO L87 Difference]: Start difference. First operand 132 states. Second operand 184 states. [2018-12-23 14:25:20,616 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:25:20,616 INFO L93 Difference]: Finished difference Result 184 states and 856 transitions. [2018-12-23 14:25:20,616 INFO L276 IsEmpty]: Start isEmpty. Operand 184 states and 856 transitions. [2018-12-23 14:25:20,617 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:25:20,617 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:25:20,617 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:25:20,617 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:25:20,617 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 132 states. [2018-12-23 14:25:20,624 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 685 transitions. [2018-12-23 14:25:20,624 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 685 transitions. Word has length 6 [2018-12-23 14:25:20,624 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:25:20,624 INFO L480 AbstractCegarLoop]: Abstraction has 132 states and 685 transitions. [2018-12-23 14:25:20,624 INFO L481 AbstractCegarLoop]: Interpolant automaton has 5 states. [2018-12-23 14:25:20,624 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 685 transitions. [2018-12-23 14:25:20,625 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:25:20,625 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:25:20,625 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:25:20,625 INFO L423 AbstractCegarLoop]: === Iteration 45 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:25:20,625 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:25:20,625 INFO L82 PathProgramCache]: Analyzing trace with hash 897299026, now seen corresponding path program 1 times [2018-12-23 14:25:20,625 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:25:20,626 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:25:20,626 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:25:20,626 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:25:20,626 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:25:20,629 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:25:20,865 INFO L273 TraceCheckUtils]: 0: Hoare triple {18368#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {18370#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:25:20,868 INFO L273 TraceCheckUtils]: 1: Hoare triple {18370#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {18370#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2018-12-23 14:25:20,869 INFO L273 TraceCheckUtils]: 2: Hoare triple {18370#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {18371#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:25:20,869 INFO L273 TraceCheckUtils]: 3: Hoare triple {18371#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p1] >= 0; {18371#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:25:20,869 INFO L273 TraceCheckUtils]: 4: Hoare triple {18371#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p2] <= 0; {18372#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2018-12-23 14:25:20,870 INFO L273 TraceCheckUtils]: 5: Hoare triple {18372#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {18369#false} is VALID [2018-12-23 14:25:20,870 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-23 14:25:20,870 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:25:20,870 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:25:20,870 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-23 14:25:20,871 INFO L207 CegarAbsIntRunner]: [0], [10], [18], [24], [26], [27] [2018-12-23 14:25:20,872 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:25:20,872 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:25:20,882 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:25:20,882 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 60 root evaluator evaluations with a maximum evaluation depth of 2. Performed 60 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:25:20,883 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:25:20,883 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:25:20,883 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:25:20,883 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 41 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 41 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:25:20,891 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:25:20,891 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:25:20,895 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:25:20,899 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:25:20,900 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:25:20,914 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 26 treesize of output 25 [2018-12-23 14:25:20,937 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:20,940 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:20,940 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 22 treesize of output 38 [2018-12-23 14:25:20,984 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:20,986 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:20,988 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:20,989 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:20,990 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 21 [2018-12-23 14:25:20,992 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-12-23 14:25:21,003 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:25:21,014 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:25:21,032 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 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 18 treesize of output 21 [2018-12-23 14:25:21,042 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 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 23 [2018-12-23 14:25:21,054 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 5 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 33 [2018-12-23 14:25:21,070 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 25 treesize of output 47 [2018-12-23 14:25:21,090 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 5 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 46 [2018-12-23 14:25:21,095 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-23 14:25:21,114 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:25:21,129 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:25:21,141 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:25:21,154 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:25:21,176 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:25:21,177 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 4 variables, input treesize:44, output treesize:46 [2018-12-23 14:25:21,184 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:25:21,184 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_232|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5, |v_#valid_46|]. (let ((.cse0 (store (store |v_#valid_46| ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2 1))) (and (= 0 (select (store .cse0 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4)) (= (store (store (store (store (store |v_#memory_int_232| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (= 0 (select .cse0 ULTIMATE.start_main_p3)))) [2018-12-23 14:25:21,184 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| 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)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:25:21,256 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:21,257 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 34 [2018-12-23 14:25:21,261 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:25:21,275 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2018-12-23 14:25:21,275 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:38, output treesize:20 [2018-12-23 14:25:23,777 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:25:23,777 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_233|, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_233| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_233| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= .cse0 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_233| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_233| ULTIMATE.start_main_p4)))) [2018-12-23 14:25:23,778 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:25:23,941 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:23,942 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:23,943 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:23,944 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:23,945 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:25:23,945 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 4 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 41 [2018-12-23 14:25:23,950 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:25:23,968 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:25:23,968 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2018-12-23 14:25:26,306 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:25:26,307 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_234|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_234| ULTIMATE.start_main_p4))) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (+ (select |v_#memory_int_234| ULTIMATE.start_main_p2) 1) 0) (= .cse0 0) (= 0 (select |v_#memory_int_234| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_234| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|))) [2018-12-23 14:25:26,307 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-23 14:25:26,411 INFO L273 TraceCheckUtils]: 0: Hoare triple {18368#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {18376#(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)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:25:26,412 INFO L273 TraceCheckUtils]: 1: Hoare triple {18376#(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)) (= 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_p2 := #memory_int[main_p2] - 1]; {18380#(and (not (= ULTIMATE.start_main_p3 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_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2018-12-23 14:25:26,414 INFO L273 TraceCheckUtils]: 2: Hoare triple {18380#(and (not (= ULTIMATE.start_main_p3 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_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {18384#(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)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:25:26,415 INFO L273 TraceCheckUtils]: 3: Hoare triple {18384#(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)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p1] >= 0; {18384#(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)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:25:26,415 INFO L273 TraceCheckUtils]: 4: Hoare triple {18384#(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)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p2] <= 0; {18384#(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)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2018-12-23 14:25:26,416 INFO L273 TraceCheckUtils]: 5: Hoare triple {18384#(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)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume !(#memory_int[main_p3] >= 0); {18369#false} is VALID [2018-12-23 14:25:26,417 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:25:26,417 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:25:26,472 INFO L273 TraceCheckUtils]: 5: Hoare triple {18394#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {18369#false} is VALID [2018-12-23 14:25:26,473 INFO L273 TraceCheckUtils]: 4: Hoare triple {18394#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {18394#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:25:26,473 INFO L273 TraceCheckUtils]: 3: Hoare triple {18394#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {18394#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:25:26,474 INFO L273 TraceCheckUtils]: 2: Hoare triple {18404#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {18394#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:25:26,476 INFO L273 TraceCheckUtils]: 1: Hoare triple {18408#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {18404#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:25:26,478 INFO L273 TraceCheckUtils]: 0: Hoare triple {18368#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {18408#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3))} is VALID [2018-12-23 14:25:26,478 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:25:26,497 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:25:26,497 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2018-12-23 14:25:26,497 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:25:26,498 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-23 14:25:26,498 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:25:26,498 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2018-12-23 14:25:26,512 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:25:26,512 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2018-12-23 14:25:26,512 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2018-12-23 14:25:26,512 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=69, Unknown=0, NotChecked=0, Total=110 [2018-12-23 14:25:26,512 INFO L87 Difference]: Start difference. First operand 132 states and 685 transitions. Second operand 8 states. [2018-12-23 14:25:38,395 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:25:38,395 INFO L93 Difference]: Finished difference Result 142 states and 698 transitions. [2018-12-23 14:25:38,395 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2018-12-23 14:25:38,395 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2018-12-23 14:25:38,395 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:25:38,395 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:25:38,396 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2018-12-23 14:25:38,396 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2018-12-23 14:25:38,396 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 44 transitions. [2018-12-23 14:25:38,396 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 44 transitions. [2018-12-23 14:25:38,476 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:25:38,480 INFO L225 Difference]: With dead ends: 142 [2018-12-23 14:25:38,480 INFO L226 Difference]: Without dead ends: 141 [2018-12-23 14:25:38,480 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 4 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=59, Invalid=97, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:25:38,481 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 141 states. [2018-12-23 14:25:51,768 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 141 to 130. [2018-12-23 14:25:51,768 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:25:51,768 INFO L82 GeneralOperation]: Start isEquivalent. First operand 141 states. Second operand 130 states. [2018-12-23 14:25:51,768 INFO L74 IsIncluded]: Start isIncluded. First operand 141 states. Second operand 130 states. [2018-12-23 14:25:51,768 INFO L87 Difference]: Start difference. First operand 141 states. Second operand 130 states. [2018-12-23 14:25:51,774 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:25:51,774 INFO L93 Difference]: Finished difference Result 141 states and 696 transitions. [2018-12-23 14:25:51,774 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 696 transitions. [2018-12-23 14:25:51,774 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:25:51,774 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:25:51,774 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand 141 states. [2018-12-23 14:25:51,774 INFO L87 Difference]: Start difference. First operand 130 states. Second operand 141 states. [2018-12-23 14:25:51,780 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:25:51,780 INFO L93 Difference]: Finished difference Result 141 states and 696 transitions. [2018-12-23 14:25:51,780 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 696 transitions. [2018-12-23 14:25:51,781 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:25:51,781 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:25:51,781 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:25:51,781 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:25:51,781 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 130 states. [2018-12-23 14:25:51,785 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 130 states to 130 states and 682 transitions. [2018-12-23 14:25:51,786 INFO L78 Accepts]: Start accepts. Automaton has 130 states and 682 transitions. Word has length 6 [2018-12-23 14:25:51,786 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:25:51,786 INFO L480 AbstractCegarLoop]: Abstraction has 130 states and 682 transitions. [2018-12-23 14:25:51,786 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2018-12-23 14:25:51,786 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 682 transitions. [2018-12-23 14:25:51,786 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:25:51,787 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:25:51,787 INFO L402 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1] [2018-12-23 14:25:51,787 INFO L423 AbstractCegarLoop]: === Iteration 46 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:25:51,787 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:25:51,787 INFO L82 PathProgramCache]: Analyzing trace with hash 897354700, now seen corresponding path program 1 times [2018-12-23 14:25:51,787 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:25:51,788 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:25:51,788 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:25:51,788 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:25:51,788 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:25:51,791 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:25:51,968 INFO L273 TraceCheckUtils]: 0: Hoare triple {19192#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {19194#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-23 14:25:51,969 INFO L273 TraceCheckUtils]: 1: Hoare triple {19194#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {19195#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:25:51,970 INFO L273 TraceCheckUtils]: 2: Hoare triple {19195#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {19195#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:25:51,971 INFO L273 TraceCheckUtils]: 3: Hoare triple {19195#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {19196#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:25:51,972 INFO L273 TraceCheckUtils]: 4: Hoare triple {19196#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {19196#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:25:51,972 INFO L273 TraceCheckUtils]: 5: Hoare triple {19196#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {19193#false} is VALID [2018-12-23 14:25:51,973 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-23 14:25:51,973 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:25:51,973 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:25:51,973 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2018-12-23 14:25:51,973 INFO L207 CegarAbsIntRunner]: [0], [10], [20], [24], [25] [2018-12-23 14:25:51,975 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2018-12-23 14:25:51,975 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-23 14:25:51,985 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2018-12-23 14:25:51,985 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 58 root evaluator evaluations with a maximum evaluation depth of 2. Performed 58 inverse root evaluator evaluations with a maximum inverse evaluation depth of 2. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2018-12-23 14:25:51,985 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:25:51,986 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2018-12-23 14:25:51,986 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:25:51,986 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 42 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 42 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:25:51,995 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:25:51,995 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2018-12-23 14:25:51,998 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:25:52,006 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:25:52,007 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:25:52,036 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:25:52,047 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 23 [2018-12-23 14:25:52,057 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,058 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,059 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 23 treesize of output 33 [2018-12-23 14:25:52,075 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,077 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,078 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,079 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 25 treesize of output 47 [2018-12-23 14:25:52,099 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,102 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,103 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,104 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,105 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 62 [2018-12-23 14:25:52,121 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2018-12-23 14:25:52,150 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:25:52,167 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:25:52,181 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:25:52,195 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:25:52,217 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 43 treesize of output 39 [2018-12-23 14:25:52,250 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,252 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,253 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 49 [2018-12-23 14:25:52,313 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,314 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,317 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,318 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,319 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 32 treesize of output 57 [2018-12-23 14:25:52,412 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,413 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,414 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,415 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,416 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,418 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,419 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 37 [2018-12-23 14:25:52,423 INFO L267 ElimStorePlain]: Start of recursive call 10: End of recursive call: and 1 xjuncts. [2018-12-23 14:25:52,440 INFO L267 ElimStorePlain]: Start of recursive call 9: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:25:52,454 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:25:52,472 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:25:52,514 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 2 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:25:52,515 INFO L202 ElimStorePlain]: Needed 10 recursive calls to eliminate 5 variables, input treesize:61, output treesize:62 [2018-12-23 14:25:52,526 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:25:52,526 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_237|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, |v_#valid_47|]. (let ((.cse0 (store (store |v_#valid_47| 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)) (= (store (store (store (store (store |v_#memory_int_237| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (= 0 (select (store .cse1 ULTIMATE.start_main_p4 1) ULTIMATE.start_main_p5)) (= 0 (select .cse1 ULTIMATE.start_main_p4))))) [2018-12-23 14:25:52,527 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p1]. (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)) (= (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)) [2018-12-23 14:25:52,620 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,629 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 10 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 36 treesize of output 72 [2018-12-23 14:25:52,638 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 2 xjuncts. [2018-12-23 14:25:52,750 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 5 dim-0 vars, and 2 xjuncts. [2018-12-23 14:25:52,750 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:72, output treesize:92 [2018-12-23 14:25:52,803 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:25:52,804 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_238|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_238| ULTIMATE.start_main_p2))) (and (= 0 .cse0) (= 0 (select |v_#memory_int_238| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (store |v_#memory_int_238| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_238| ULTIMATE.start_main_p5) 0) (= 0 (select |v_#memory_int_238| 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_p3 ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_238| ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))) [2018-12-23 14:25:52,804 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, v_prenex_90, v_prenex_89]. (let ((.cse0 (= 0 (select |#memory_int| ULTIMATE.start_main_p5))) (.cse1 (= (- 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)) .cse0 (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) .cse1 (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_90 v_prenex_89)) (not (= v_prenex_90 ULTIMATE.start_main_p5)) .cse0 (not (= v_prenex_90 ULTIMATE.start_main_p2)) .cse1 (not (= ULTIMATE.start_main_p2 v_prenex_89)) (not (= ULTIMATE.start_main_p5 v_prenex_89)) (= (select |#memory_int| v_prenex_90) 0) (= (select |#memory_int| v_prenex_89) 0)))) [2018-12-23 14:25:52,888 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,889 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,890 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,891 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,892 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 59 [2018-12-23 14:25:52,896 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:25:52,922 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:25:52,922 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:53, output treesize:27 [2018-12-23 14:25:52,928 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:25:52,929 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_239|, v_prenex_90, v_prenex_89]. (let ((.cse0 (select |v_#memory_int_239| ULTIMATE.start_main_p5))) (and (= 0 (+ (select |v_#memory_int_239| ULTIMATE.start_main_p2) 1)) (= (store |v_#memory_int_239| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (not (= v_prenex_90 v_prenex_89)) (= (select |v_#memory_int_239| v_prenex_90) 0) (not (= ULTIMATE.start_main_p2 v_prenex_89)) (not (= ULTIMATE.start_main_p5 v_prenex_89)) (= 0 (select |v_#memory_int_239| v_prenex_89)) (not (= v_prenex_90 ULTIMATE.start_main_p5)) (not (= v_prenex_90 ULTIMATE.start_main_p2)))) [2018-12-23 14:25:52,929 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_89, v_prenex_90]. (and (= (select |#memory_int| v_prenex_89) 0) (not (= v_prenex_90 v_prenex_89)) (= 0 (select |#memory_int| v_prenex_90)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-23 14:25:52,969 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,971 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,972 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,973 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,974 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,975 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,976 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,977 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,978 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,979 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,980 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:25:52,981 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 12 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 79 [2018-12-23 14:25:52,985 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2018-12-23 14:25:53,013 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2018-12-23 14:25:53,013 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:37, output treesize:27 [2018-12-23 14:25:55,028 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:25:55,028 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_240|, ULTIMATE.start_main_p5, v_prenex_89, v_prenex_90]. (let ((.cse0 (select |v_#memory_int_240| ULTIMATE.start_main_p5))) (and (= 0 (+ (select |v_#memory_int_240| ULTIMATE.start_main_p2) 1)) (= (select |v_#memory_int_240| v_prenex_89) 0) (not (= v_prenex_90 v_prenex_89)) (= 0 (select |v_#memory_int_240| v_prenex_90)) (= .cse0 1) (= (store |v_#memory_int_240| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|))) [2018-12-23 14:25:55,028 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_89, ULTIMATE.start_main_p5, v_prenex_90]. (and (= (select |#memory_int| v_prenex_89) 0) (= 2 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= v_prenex_90 v_prenex_89)) (= 0 (select |#memory_int| v_prenex_90)) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2018-12-23 14:25:55,071 INFO L273 TraceCheckUtils]: 0: Hoare triple {19192#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {19200#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 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_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_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)))))} is VALID [2018-12-23 14:25:55,073 INFO L273 TraceCheckUtils]: 1: Hoare triple {19200#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p1 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_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_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)))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {19204#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((v_prenex_90 Int) (v_prenex_89 Int)) (and (= (select |#memory_int| v_prenex_89) 0) (not (= v_prenex_90 v_prenex_89)) (not (= ULTIMATE.start_main_p2 v_prenex_89)) (not (= ULTIMATE.start_main_p5 v_prenex_89)) (= (select |#memory_int| v_prenex_90) 0) (not (= v_prenex_90 ULTIMATE.start_main_p5)) (not (= v_prenex_90 ULTIMATE.start_main_p2)))))} is VALID [2018-12-23 14:25:55,075 INFO L273 TraceCheckUtils]: 2: Hoare triple {19204#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((v_prenex_90 Int) (v_prenex_89 Int)) (and (= (select |#memory_int| v_prenex_89) 0) (not (= v_prenex_90 v_prenex_89)) (not (= ULTIMATE.start_main_p2 v_prenex_89)) (not (= ULTIMATE.start_main_p5 v_prenex_89)) (= (select |#memory_int| v_prenex_90) 0) (not (= v_prenex_90 ULTIMATE.start_main_p5)) (not (= v_prenex_90 ULTIMATE.start_main_p2)))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {19208#(and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((v_prenex_90 Int) (v_prenex_89 Int)) (and (= (select |#memory_int| v_prenex_89) 0) (not (= v_prenex_90 v_prenex_89)) (= 0 (select |#memory_int| v_prenex_90)))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:25:55,077 INFO L273 TraceCheckUtils]: 3: Hoare triple {19208#(and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((v_prenex_90 Int) (v_prenex_89 Int)) (and (= (select |#memory_int| v_prenex_89) 0) (not (= v_prenex_90 v_prenex_89)) (= 0 (select |#memory_int| v_prenex_90)))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {19212#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 2 (select |#memory_int| ULTIMATE.start_main_p5))) (exists ((v_prenex_90 Int) (v_prenex_89 Int)) (and (= (select |#memory_int| v_prenex_89) 0) (not (= v_prenex_90 v_prenex_89)) (= 0 (select |#memory_int| v_prenex_90)))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:25:55,078 INFO L273 TraceCheckUtils]: 4: Hoare triple {19212#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 2 (select |#memory_int| ULTIMATE.start_main_p5))) (exists ((v_prenex_90 Int) (v_prenex_89 Int)) (and (= (select |#memory_int| v_prenex_89) 0) (not (= v_prenex_90 v_prenex_89)) (= 0 (select |#memory_int| v_prenex_90)))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {19212#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 2 (select |#memory_int| ULTIMATE.start_main_p5))) (exists ((v_prenex_90 Int) (v_prenex_89 Int)) (and (= (select |#memory_int| v_prenex_89) 0) (not (= v_prenex_90 v_prenex_89)) (= 0 (select |#memory_int| v_prenex_90)))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:25:55,079 INFO L273 TraceCheckUtils]: 5: Hoare triple {19212#(and (exists ((ULTIMATE.start_main_p5 Int)) (= 2 (select |#memory_int| ULTIMATE.start_main_p5))) (exists ((v_prenex_90 Int) (v_prenex_89 Int)) (and (= (select |#memory_int| v_prenex_89) 0) (not (= v_prenex_90 v_prenex_89)) (= 0 (select |#memory_int| v_prenex_90)))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {19193#false} is VALID [2018-12-23 14:25:55,079 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:25:55,079 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2018-12-23 14:25:55,132 INFO L273 TraceCheckUtils]: 5: Hoare triple {19196#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {19193#false} is VALID [2018-12-23 14:25:55,133 INFO L273 TraceCheckUtils]: 4: Hoare triple {19196#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {19196#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:25:55,134 INFO L273 TraceCheckUtils]: 3: Hoare triple {19225#(<= (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]; {19196#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:25:55,135 INFO L273 TraceCheckUtils]: 2: Hoare triple {19229#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 2)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {19225#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:25:55,136 INFO L273 TraceCheckUtils]: 1: Hoare triple {19233#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 2)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {19229#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 2)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:25:55,138 INFO L273 TraceCheckUtils]: 0: Hoare triple {19192#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {19233#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 2)) ULTIMATE.start_main_p2) 0)} is VALID [2018-12-23 14:25:55,139 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-23 14:25:55,157 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2018-12-23 14:25:55,157 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 4, 4] total 10 [2018-12-23 14:25:55,157 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2018-12-23 14:25:55,158 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 6 [2018-12-23 14:25:55,158 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-23 14:25:55,158 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2018-12-23 14:25:55,176 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:25:55,176 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2018-12-23 14:25:55,176 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2018-12-23 14:25:55,176 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=52, Invalid=80, Unknown=0, NotChecked=0, Total=132 [2018-12-23 14:25:55,177 INFO L87 Difference]: Start difference. First operand 130 states and 682 transitions. Second operand 9 states. [2018-12-23 14:26:16,939 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:26:16,940 INFO L93 Difference]: Finished difference Result 219 states and 1011 transitions. [2018-12-23 14:26:16,940 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2018-12-23 14:26:16,940 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 6 [2018-12-23 14:26:16,940 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-23 14:26:16,940 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-12-23 14:26:16,941 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 79 transitions. [2018-12-23 14:26:16,941 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2018-12-23 14:26:16,942 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 79 transitions. [2018-12-23 14:26:16,942 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 79 transitions. [2018-12-23 14:26:17,280 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-23 14:26:17,285 INFO L225 Difference]: With dead ends: 219 [2018-12-23 14:26:17,286 INFO L226 Difference]: Without dead ends: 216 [2018-12-23 14:26:17,286 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 36 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=60, Invalid=96, Unknown=0, NotChecked=0, Total=156 [2018-12-23 14:26:17,286 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 216 states. [2018-12-23 14:26:36,623 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 216 to 148. [2018-12-23 14:26:36,623 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-23 14:26:36,623 INFO L82 GeneralOperation]: Start isEquivalent. First operand 216 states. Second operand 148 states. [2018-12-23 14:26:36,623 INFO L74 IsIncluded]: Start isIncluded. First operand 216 states. Second operand 148 states. [2018-12-23 14:26:36,623 INFO L87 Difference]: Start difference. First operand 216 states. Second operand 148 states. [2018-12-23 14:26:36,631 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:26:36,631 INFO L93 Difference]: Finished difference Result 216 states and 1004 transitions. [2018-12-23 14:26:36,632 INFO L276 IsEmpty]: Start isEmpty. Operand 216 states and 1004 transitions. [2018-12-23 14:26:36,632 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:26:36,632 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:26:36,632 INFO L74 IsIncluded]: Start isIncluded. First operand 148 states. Second operand 216 states. [2018-12-23 14:26:36,632 INFO L87 Difference]: Start difference. First operand 148 states. Second operand 216 states. [2018-12-23 14:26:36,640 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-23 14:26:36,640 INFO L93 Difference]: Finished difference Result 216 states and 1004 transitions. [2018-12-23 14:26:36,640 INFO L276 IsEmpty]: Start isEmpty. Operand 216 states and 1004 transitions. [2018-12-23 14:26:36,641 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-23 14:26:36,641 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-23 14:26:36,641 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-23 14:26:36,641 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-23 14:26:36,641 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 148 states. [2018-12-23 14:26:36,647 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 148 states to 148 states and 790 transitions. [2018-12-23 14:26:36,647 INFO L78 Accepts]: Start accepts. Automaton has 148 states and 790 transitions. Word has length 6 [2018-12-23 14:26:36,647 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-23 14:26:36,648 INFO L480 AbstractCegarLoop]: Abstraction has 148 states and 790 transitions. [2018-12-23 14:26:36,648 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2018-12-23 14:26:36,648 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 790 transitions. [2018-12-23 14:26:36,648 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2018-12-23 14:26:36,648 INFO L394 BasicCegarLoop]: Found error trace [2018-12-23 14:26:36,648 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2018-12-23 14:26:36,649 INFO L423 AbstractCegarLoop]: === Iteration 47 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2018-12-23 14:26:36,649 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-23 14:26:36,649 INFO L82 PathProgramCache]: Analyzing trace with hash 896937626, now seen corresponding path program 3 times [2018-12-23 14:26:36,649 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-23 14:26:36,650 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:26:36,650 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-23 14:26:36,650 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-23 14:26:36,650 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-23 14:26:36,653 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:26:36,935 WARN L181 SmtUtils]: Spent 126.00 ms on a formula simplification that was a NOOP. DAG size: 12 [2018-12-23 14:26:37,062 INFO L273 TraceCheckUtils]: 0: Hoare triple {20325#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := 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]; {20327#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2018-12-23 14:26:37,063 INFO L273 TraceCheckUtils]: 1: Hoare triple {20327#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {20328#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:26:37,064 INFO L273 TraceCheckUtils]: 2: Hoare triple {20328#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {20328#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2018-12-23 14:26:37,065 INFO L273 TraceCheckUtils]: 3: Hoare triple {20328#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {20329#(and (<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2018-12-23 14:26:37,066 INFO L273 TraceCheckUtils]: 4: Hoare triple {20329#(and (<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} assume #memory_int[main_p1] >= 0; {20330#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2018-12-23 14:26:37,067 INFO L273 TraceCheckUtils]: 5: Hoare triple {20330#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {20326#false} is VALID [2018-12-23 14:26:37,067 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2018-12-23 14:26:37,067 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:26:37,067 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-23 14:26:37,068 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2018-12-23 14:26:37,068 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2018-12-23 14:26:37,068 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-23 14:26:37,068 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 43 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 43 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:26:37,079 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2018-12-23 14:26:37,079 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder TERMS_WITH_SMALL_CONSTANTS_FIRST (IT: FPandBP) [2018-12-23 14:26:37,084 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2018-12-23 14:26:37,084 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2018-12-23 14:26:37,087 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-23 14:26:37,088 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2018-12-23 14:26:37,138 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:37,139 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 31 treesize of output 40 [2018-12-23 14:26:37,189 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:37,190 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:37,190 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 27 treesize of output 42 [2018-12-23 14:26:37,246 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:37,247 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:37,248 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:37,250 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:37,250 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 25 [2018-12-23 14:26:37,254 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-12-23 14:26:37,267 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:26:37,279 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:26:37,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, 3 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2018-12-23 14:26:37,313 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 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 27 [2018-12-23 14:26:37,330 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 6 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2018-12-23 14:26:37,355 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2018-12-23 14:26:37,379 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2018-12-23 14:26:37,387 INFO L267 ElimStorePlain]: Start of recursive call 9: End of recursive call: and 1 xjuncts. [2018-12-23 14:26:37,409 INFO L267 ElimStorePlain]: Start of recursive call 8: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:26:37,425 INFO L267 ElimStorePlain]: Start of recursive call 7: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:26:37,440 INFO L267 ElimStorePlain]: Start of recursive call 6: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:26:37,452 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2018-12-23 14:26:37,486 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 2 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2018-12-23 14:26:37,486 INFO L202 ElimStorePlain]: Needed 9 recursive calls to eliminate 4 variables, input treesize:52, output treesize:50 [2018-12-23 14:26:37,496 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:26:37,497 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_244|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, |v_#valid_48|]. (let ((.cse0 (store |v_#valid_48| ULTIMATE.start_main_p1 1))) (let ((.cse1 (store .cse0 ULTIMATE.start_main_p2 1))) (and (= 0 (select .cse0 ULTIMATE.start_main_p2)) (= 0 (select (store .cse1 ULTIMATE.start_main_p3 1) ULTIMATE.start_main_p4)) (= (select .cse1 ULTIMATE.start_main_p3) 0) (= (store (store (store (store (store |v_#memory_int_244| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|)))) [2018-12-23 14:26:37,497 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (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_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) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2018-12-23 14:26:37,608 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:37,619 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 7 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 2 case distinctions, treesize of input 36 treesize of output 60 [2018-12-23 14:26:37,629 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 2 xjuncts. [2018-12-23 14:26:37,714 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 2 xjuncts. [2018-12-23 14:26:37,714 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:60, output treesize:75 [2018-12-23 14:26:37,751 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:26:37,751 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_245|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_245| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_245| ULTIMATE.start_main_p4)) (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 |v_#memory_int_245| ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_245| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_245| ULTIMATE.start_main_p5) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (= 0 .cse0) (= (select |v_#memory_int_245| ULTIMATE.start_main_p3) 0))) [2018-12-23 14:26:37,751 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, v_prenex_92, v_prenex_91]. (let ((.cse0 (= (select |#memory_int| ULTIMATE.start_main_p1) 0)) (.cse1 (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)))) (or (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) .cse0 .cse1 (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_92 v_prenex_91)) .cse0 .cse1 (not (= v_prenex_92 ULTIMATE.start_main_p1)) (= (select |#memory_int| v_prenex_92) 0) (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5) (not (= ULTIMATE.start_main_p1 v_prenex_91)) (= (select |#memory_int| v_prenex_91) 0)))) [2018-12-23 14:26:37,910 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:37,912 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:37,915 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:37,916 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:37,917 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:37,918 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:37,919 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:37,928 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 50 treesize of output 80 [2018-12-23 14:26:37,938 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 2 xjuncts. [2018-12-23 14:26:38,050 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:38,051 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:38,052 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:38,053 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:38,054 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:38,055 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:38,056 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 48 treesize of output 74 [2018-12-23 14:26:38,061 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-12-23 14:26:38,133 INFO L267 ElimStorePlain]: Start of recursive call 1: 6 dim-0 vars, 2 dim-1 vars, End of recursive call: 8 dim-0 vars, and 3 xjuncts. [2018-12-23 14:26:38,133 INFO L202 ElimStorePlain]: Needed 3 recursive calls to eliminate 8 variables, input treesize:99, output treesize:90 [2018-12-23 14:26:40,410 WARN L383 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2018-12-23 14:26:40,410 WARN L384 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_246|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, v_prenex_93, v_prenex_94, v_prenex_92, v_prenex_91]. (or (let ((.cse0 (select |v_#memory_int_246| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_246| ULTIMATE.start_main_p4) 0) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |v_#memory_int_246| ULTIMATE.start_main_p5) 0) (= (+ (select |v_#memory_int_246| ULTIMATE.start_main_p2) 1) 0) (= (store |v_#memory_int_246| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= (select |v_#memory_int_246| ULTIMATE.start_main_p3) 0) (= .cse0 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))) (let ((.cse1 (select v_prenex_93 v_prenex_94))) (and (not (= v_prenex_92 v_prenex_94)) (= (+ (select v_prenex_93 ULTIMATE.start_main_p2) 1) 0) (not (= v_prenex_92 v_prenex_91)) (not (= v_prenex_94 v_prenex_91)) (= (select v_prenex_93 v_prenex_92) 0) (= (select v_prenex_93 v_prenex_91) 0) (= .cse1 0) (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5) (= (store v_prenex_93 v_prenex_94 (+ .cse1 1)) |#memory_int|)))) [2018-12-23 14:26:40,410 WARN L385 uantifierElimination]: ElimStorePlain result: ∃ [v_prenex_91, v_prenex_92, v_prenex_94, ULTIMATE.start_main_p1, v_prenex_96, v_prenex_95, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |#memory_int| ULTIMATE.start_main_p5)) (.cse1 (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (or (and (= 0 (select |#memory_int| v_prenex_91)) (= 0 (select |#memory_int| v_prenex_92)) (not (= v_prenex_92 v_prenex_91)) (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5) (= 1 (select |#memory_int| v_prenex_94)) (= (+ .cse0 1) 0)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (not (= v_prenex_96 v_prenex_95)) (= 0 .cse0) (= (select |#memory_int| v_prenex_96) 0) (= (select |#memory_int| v_prenex_95) 0) .cse1) (and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 1 .cse0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) .cse1))) [2018-12-23 14:26:40,577 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:40,579 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:40,580 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:40,581 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:40,583 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:40,584 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:40,586 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:40,587 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:40,588 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:40,589 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:40,590 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:40,591 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:26:40,606 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 4 case distinctions, treesize of input 42 treesize of output 88 [2018-12-23 14:26:40,615 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 4 xjuncts. [2018-12-23 14:26:40,801 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:40,802 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:40,804 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:40,805 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:40,806 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:40,807 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:40,808 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:40,808 INFO L683 Elim1Store]: detected equality via solver [2018-12-23 14:26:40,809 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:40,810 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 65 [2018-12-23 14:26:40,815 INFO L267 ElimStorePlain]: Start of recursive call 3: End of recursive call: and 1 xjuncts. [2018-12-23 14:26:40,922 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:40,923 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:40,924 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:40,925 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:40,926 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:40,927 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:40,928 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:40,929 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:40,930 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:40,931 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:40,932 INFO L701 Elim1Store]: detected not equals via solver [2018-12-23 14:26:40,933 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 12 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 37 treesize of output 79 [2018-12-23 14:26:40,940 INFO L267 ElimStorePlain]: Start of recursive call 4: End of recursive call: and 1 xjuncts. [2018-12-23 14:26:41,062 INFO L267 ElimStorePlain]: Start of recursive call 1: 10 dim-0 vars, 3 dim-1 vars, End of recursive call: 16 dim-0 vars, and 5 xjuncts. [2018-12-23 14:26:41,062 INFO L202 ElimStorePlain]: Needed 4 recursive calls to eliminate 13 variables, input treesize:117, output treesize:151 [2018-12-23 14:26:42,736 WARN L194 Executor]: External (z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000) stderr output: (error "out of memory") [2018-12-23 14:26:42,937 WARN L521 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 43 z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2018-12-23 14:26:42,939 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.logic.Util.checkSat(Util.java:61) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.EliminationTask.areDistinct(EliminationTask.java:106) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.PartialQuantifierElimination.validateEquivalence(PartialQuantifierElimination.java:381) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.PartialQuantifierElimination.elim(PartialQuantifierElimination.java:294) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.PartialQuantifierElimination.tryToEliminate(PartialQuantifierElimination.java:101) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer$QuantifierEliminationPostprocessor.postprocess(IterativePredicateTransformer.java:245) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer.applyPostprocessors(IterativePredicateTransformer.java:439) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.predicates.IterativePredicateTransformer.computeStrongestPostconditionSequence(IterativePredicateTransformer.java:200) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.computeInterpolantsUsingUnsatCore(TraceCheckSpWp.java:286) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.computeInterpolants(TraceCheckSpWp.java:175) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.singletracecheck.TraceCheckSpWp.(TraceCheckSpWp.java:162) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructForwardBackward(TraceCheckConstructor.java:224) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.constructTraceCheck(TraceCheckConstructor.java:188) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceCheckConstructor.get(TraceCheckConstructor.java:165) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseTaipanRefinementStrategy.getTraceCheck(BaseTaipanRefinementStrategy.java:215) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.checkFeasibility(BaseRefinementStrategy.java:223) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.BaseRefinementStrategy.executeStrategy(BaseRefinementStrategy.java:197) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:70) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:456) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterateInternal(AbstractCegarLoop.java:434) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:376) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.iterate(TraceAbstractionStarter.java:334) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:174) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:126) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:316) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) Caused by: de.uni_freiburg.informatik.ultimate.logic.SMTLIBException: EOF at de.uni_freiburg.informatik.ultimate.smtsolver.external.Parser$Action$.CUP$do_action(Parser.java:1427) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Parser.do_action(Parser.java:630) at com.github.jhoenicke.javacup.runtime.LRParser.parse(LRParser.java:419) at de.uni_freiburg.informatik.ultimate.smtsolver.external.Executor.parse(Executor.java:205) ... 38 more [2018-12-23 14:26:42,944 INFO L168 Benchmark]: Toolchain (without parser) took 454825.56 ms. Allocated memory was 1.5 GB in the beginning and 1.9 GB in the end (delta: 413.7 MB). Free memory was 1.4 GB in the beginning and 1.9 GB in the end (delta: -406.4 MB). Peak memory consumption was 395.3 MB. Max. memory is 7.1 GB. [2018-12-23 14:26:42,945 INFO L168 Benchmark]: Boogie PL CUP Parser took 0.20 ms. Allocated memory is still 1.5 GB. Free memory is still 1.4 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-12-23 14:26:42,946 INFO L168 Benchmark]: Boogie Procedure Inliner took 75.70 ms. Allocated memory is still 1.5 GB. Free memory is still 1.4 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-12-23 14:26:42,946 INFO L168 Benchmark]: Boogie Preprocessor took 41.90 ms. Allocated memory is still 1.5 GB. Free memory is still 1.4 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-12-23 14:26:42,946 INFO L168 Benchmark]: RCFGBuilder took 656.21 ms. Allocated memory is still 1.5 GB. Free memory was 1.4 GB in the beginning and 1.4 GB in the end (delta: 31.7 MB). Peak memory consumption was 31.7 MB. Max. memory is 7.1 GB. [2018-12-23 14:26:42,946 INFO L168 Benchmark]: TraceAbstraction took 454041.91 ms. Allocated memory was 1.5 GB in the beginning and 1.9 GB in the end (delta: 413.7 MB). Free memory was 1.4 GB in the beginning and 1.9 GB in the end (delta: -438.1 MB). Peak memory consumption was 363.6 MB. Max. memory is 7.1 GB. [2018-12-23 14:26:42,947 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.20 ms. Allocated memory is still 1.5 GB. Free memory is still 1.4 GB. There was no memory consumed. Max. memory is 7.1 GB. * Boogie Procedure Inliner took 75.70 ms. Allocated memory is still 1.5 GB. Free memory is still 1.4 GB. There was no memory consumed. Max. memory is 7.1 GB. * Boogie Preprocessor took 41.90 ms. Allocated memory is still 1.5 GB. Free memory is still 1.4 GB. There was no memory consumed. Max. memory is 7.1 GB. * RCFGBuilder took 656.21 ms. Allocated memory is still 1.5 GB. Free memory was 1.4 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 454041.91 ms. Allocated memory was 1.5 GB in the beginning and 1.9 GB in the end (delta: 413.7 MB). Free memory was 1.4 GB in the beginning and 1.9 GB in the end (delta: -438.1 MB). Peak memory consumption was 363.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...