java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data @noDefault -ultimatedata ./data -tc ../../../trunk/examples/toolchains/AutomizerBplInline.xml -s ../../../trunk/examples/settings/ai/array-bench/reach_32bit_compound_exp_cong.epf -i ../../../trunk/examples/programs/heapseparator/speedup-poc-dd-5-limited.bpl -------------------------------------------------------------------------------- This is Ultimate 0.1.24-1de736e-m [2019-02-14 16:23:38,736 INFO L170 SettingsManager]: Resetting all preferences to default values... [2019-02-14 16:23:38,741 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2019-02-14 16:23:38,758 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2019-02-14 16:23:38,758 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2019-02-14 16:23:38,759 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2019-02-14 16:23:38,760 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2019-02-14 16:23:38,764 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2019-02-14 16:23:38,767 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2019-02-14 16:23:38,768 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2019-02-14 16:23:38,768 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2019-02-14 16:23:38,770 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2019-02-14 16:23:38,771 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2019-02-14 16:23:38,773 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2019-02-14 16:23:38,778 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2019-02-14 16:23:38,779 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2019-02-14 16:23:38,783 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2019-02-14 16:23:38,787 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2019-02-14 16:23:38,791 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2019-02-14 16:23:38,792 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2019-02-14 16:23:38,794 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2019-02-14 16:23:38,797 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2019-02-14 16:23:38,802 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2019-02-14 16:23:38,802 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2019-02-14 16:23:38,802 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2019-02-14 16:23:38,804 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2019-02-14 16:23:38,805 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2019-02-14 16:23:38,806 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2019-02-14 16:23:38,807 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2019-02-14 16:23:38,808 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2019-02-14 16:23:38,808 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2019-02-14 16:23:38,808 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2019-02-14 16:23:38,809 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2019-02-14 16:23:38,809 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2019-02-14 16:23:38,810 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2019-02-14 16:23:38,810 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2019-02-14 16:23:38,811 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/ai/array-bench/reach_32bit_compound_exp_cong.epf [2019-02-14 16:23:38,822 INFO L110 SettingsManager]: Loading preferences was successful [2019-02-14 16:23:38,823 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2019-02-14 16:23:38,823 INFO L131 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2019-02-14 16:23:38,824 INFO L133 SettingsManager]: * Show backtranslation warnings=false [2019-02-14 16:23:38,824 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2019-02-14 16:23:38,824 INFO L133 SettingsManager]: * User list type=DISABLED [2019-02-14 16:23:38,824 INFO L133 SettingsManager]: * Inline calls to unimplemented procedures=true [2019-02-14 16:23:38,824 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2019-02-14 16:23:38,825 INFO L133 SettingsManager]: * Explicit value domain=true [2019-02-14 16:23:38,825 INFO L133 SettingsManager]: * Abstract domain for RCFG-of-the-future=PoormanAbstractDomain [2019-02-14 16:23:38,825 INFO L133 SettingsManager]: * Octagon Domain=false [2019-02-14 16:23:38,825 INFO L133 SettingsManager]: * Abstract domain=CompoundDomain [2019-02-14 16:23:38,825 INFO L133 SettingsManager]: * Check feasibility of abstract posts with an SMT solver=true [2019-02-14 16:23:38,826 INFO L133 SettingsManager]: * Interval Domain=false [2019-02-14 16:23:38,826 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2019-02-14 16:23:38,826 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2019-02-14 16:23:38,827 INFO L133 SettingsManager]: * Use SBE=true [2019-02-14 16:23:38,827 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2019-02-14 16:23:38,827 INFO L133 SettingsManager]: * sizeof long=4 [2019-02-14 16:23:38,827 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2019-02-14 16:23:38,827 INFO L133 SettingsManager]: * sizeof POINTER=4 [2019-02-14 16:23:38,828 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2019-02-14 16:23:38,828 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2019-02-14 16:23:38,828 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2019-02-14 16:23:38,828 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2019-02-14 16:23:38,828 INFO L133 SettingsManager]: * sizeof long double=12 [2019-02-14 16:23:38,829 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2019-02-14 16:23:38,829 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2019-02-14 16:23:38,829 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2019-02-14 16:23:38,829 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2019-02-14 16:23:38,829 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2019-02-14 16:23:38,830 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2019-02-14 16:23:38,830 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2019-02-14 16:23:38,830 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2019-02-14 16:23:38,830 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2019-02-14 16:23:38,830 INFO L133 SettingsManager]: * Trace refinement strategy=TAIPAN [2019-02-14 16:23:38,831 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2019-02-14 16:23:38,831 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2019-02-14 16:23:38,831 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2019-02-14 16:23:38,831 INFO L133 SettingsManager]: * Abstract interpretation Mode=USE_PREDICATES [2019-02-14 16:23:38,861 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2019-02-14 16:23:38,873 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2019-02-14 16:23:38,876 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2019-02-14 16:23:38,877 INFO L271 PluginConnector]: Initializing Boogie PL CUP Parser... [2019-02-14 16:23:38,878 INFO L276 PluginConnector]: Boogie PL CUP Parser initialized [2019-02-14 16:23:38,879 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/heapseparator/speedup-poc-dd-5-limited.bpl [2019-02-14 16:23:38,879 INFO L111 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/heapseparator/speedup-poc-dd-5-limited.bpl' [2019-02-14 16:23:38,922 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2019-02-14 16:23:38,923 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2019-02-14 16:23:38,924 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2019-02-14 16:23:38,924 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2019-02-14 16:23:38,924 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2019-02-14 16:23:38,940 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 14.02 04:23:38" (1/1) ... [2019-02-14 16:23:38,952 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 14.02 04:23:38" (1/1) ... [2019-02-14 16:23:38,980 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2019-02-14 16:23:38,980 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2019-02-14 16:23:38,981 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2019-02-14 16:23:38,981 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2019-02-14 16:23:38,992 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 14.02 04:23:38" (1/1) ... [2019-02-14 16:23:38,992 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 14.02 04:23:38" (1/1) ... [2019-02-14 16:23:38,994 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 14.02 04:23:38" (1/1) ... [2019-02-14 16:23:38,994 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 14.02 04:23:38" (1/1) ... [2019-02-14 16:23:38,998 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 14.02 04:23:38" (1/1) ... [2019-02-14 16:23:39,001 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 14.02 04:23:38" (1/1) ... [2019-02-14 16:23:39,003 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 14.02 04:23:38" (1/1) ... [2019-02-14 16:23:39,004 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2019-02-14 16:23:39,005 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2019-02-14 16:23:39,005 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2019-02-14 16:23:39,005 INFO L276 PluginConnector]: RCFGBuilder initialized [2019-02-14 16:23:39,006 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 14.02 04:23:38" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2019-02-14 16:23:39,068 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2019-02-14 16:23:39,068 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2019-02-14 16:23:39,731 INFO L281 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2019-02-14 16:23:39,732 INFO L286 CfgBuilder]: Removed 13 assue(true) statements. [2019-02-14 16:23:39,733 INFO L202 PluginConnector]: Adding new model speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.02 04:23:39 BoogieIcfgContainer [2019-02-14 16:23:39,733 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2019-02-14 16:23:39,735 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2019-02-14 16:23:39,735 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2019-02-14 16:23:39,738 INFO L276 PluginConnector]: TraceAbstraction initialized [2019-02-14 16:23:39,738 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 14.02 04:23:38" (1/2) ... [2019-02-14 16:23:39,739 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@69d21e2a and model type speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.02 04:23:39, skipping insertion in model container [2019-02-14 16:23:39,740 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "speedup-poc-dd-5-limited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.02 04:23:39" (2/2) ... [2019-02-14 16:23:39,742 INFO L112 eAbstractionObserver]: Analyzing ICFG speedup-poc-dd-5-limited.bpl [2019-02-14 16:23:39,752 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2019-02-14 16:23:39,760 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 5 error locations. [2019-02-14 16:23:39,777 INFO L257 AbstractCegarLoop]: Starting to check reachability of 5 error locations. [2019-02-14 16:23:39,811 INFO L382 AbstractCegarLoop]: Interprodecural is true [2019-02-14 16:23:39,811 INFO L383 AbstractCegarLoop]: Hoare is true [2019-02-14 16:23:39,811 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2019-02-14 16:23:39,811 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2019-02-14 16:23:39,812 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2019-02-14 16:23:39,812 INFO L387 AbstractCegarLoop]: Difference is false [2019-02-14 16:23:39,812 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2019-02-14 16:23:39,812 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2019-02-14 16:23:39,828 INFO L276 IsEmpty]: Start isEmpty. Operand 13 states. [2019-02-14 16:23:39,834 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 3 [2019-02-14 16:23:39,834 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:23:39,835 INFO L402 BasicCegarLoop]: trace histogram [1, 1] [2019-02-14 16:23:39,838 INFO L423 AbstractCegarLoop]: === Iteration 1 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:23:39,844 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:23:39,845 INFO L82 PathProgramCache]: Analyzing trace with hash 984, now seen corresponding path program 1 times [2019-02-14 16:23:39,847 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:23:39,897 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:23:39,898 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:23:39,898 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:23:39,898 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:23:39,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:23:40,070 INFO L273 TraceCheckUtils]: 0: Hoare triple {16#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {18#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-14 16:23:40,076 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 [2019-02-14 16:23:40,078 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:23:40,080 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2019-02-14 16:23:40,080 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2019-02-14 16:23:40,080 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-02-14 16:23:40,085 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 2 [2019-02-14 16:23:40,086 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:23:40,089 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2019-02-14 16:23:40,120 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 2 edges. 2 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:23:40,120 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2019-02-14 16:23:40,128 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2019-02-14 16:23:40,129 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2019-02-14 16:23:40,131 INFO L87 Difference]: Start difference. First operand 13 states. Second operand 3 states. [2019-02-14 16:23:40,547 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:23:40,547 INFO L93 Difference]: Finished difference Result 25 states and 33 transitions. [2019-02-14 16:23:40,548 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2019-02-14 16:23:40,548 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 2 [2019-02-14 16:23:40,548 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:23:40,549 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-02-14 16:23:40,554 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 33 transitions. [2019-02-14 16:23:40,554 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-02-14 16:23:40,557 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 33 transitions. [2019-02-14 16:23:40,558 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 33 transitions. [2019-02-14 16:23:40,741 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:23:40,752 INFO L225 Difference]: With dead ends: 25 [2019-02-14 16:23:40,752 INFO L226 Difference]: Without dead ends: 20 [2019-02-14 16:23:40,756 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 1 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2019-02-14 16:23:40,773 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 20 states. [2019-02-14 16:23:40,824 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 20 to 12. [2019-02-14 16:23:40,824 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:23:40,825 INFO L82 GeneralOperation]: Start isEquivalent. First operand 20 states. Second operand 12 states. [2019-02-14 16:23:40,825 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand 12 states. [2019-02-14 16:23:40,825 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 12 states. [2019-02-14 16:23:40,829 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:23:40,830 INFO L93 Difference]: Finished difference Result 20 states and 28 transitions. [2019-02-14 16:23:40,830 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 28 transitions. [2019-02-14 16:23:40,830 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:23:40,831 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:23:40,831 INFO L74 IsIncluded]: Start isIncluded. First operand 12 states. Second operand 20 states. [2019-02-14 16:23:40,831 INFO L87 Difference]: Start difference. First operand 12 states. Second operand 20 states. [2019-02-14 16:23:40,835 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:23:40,835 INFO L93 Difference]: Finished difference Result 20 states and 28 transitions. [2019-02-14 16:23:40,836 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 28 transitions. [2019-02-14 16:23:40,836 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:23:40,836 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:23:40,837 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:23:40,837 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:23:40,837 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-14 16:23:40,839 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 21 transitions. [2019-02-14 16:23:40,841 INFO L78 Accepts]: Start accepts. Automaton has 12 states and 21 transitions. Word has length 2 [2019-02-14 16:23:40,841 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:23:40,841 INFO L480 AbstractCegarLoop]: Abstraction has 12 states and 21 transitions. [2019-02-14 16:23:40,841 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2019-02-14 16:23:40,842 INFO L276 IsEmpty]: Start isEmpty. Operand 12 states and 21 transitions. [2019-02-14 16:23:40,842 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2019-02-14 16:23:40,842 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:23:40,842 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2019-02-14 16:23:40,843 INFO L423 AbstractCegarLoop]: === Iteration 2 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:23:40,843 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:23:40,843 INFO L82 PathProgramCache]: Analyzing trace with hash 30372, now seen corresponding path program 1 times [2019-02-14 16:23:40,843 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:23:40,844 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:23:40,845 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:23:40,845 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:23:40,845 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:23:40,867 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:23:41,100 INFO L273 TraceCheckUtils]: 0: Hoare triple {102#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {104#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2019-02-14 16:23:41,102 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 [2019-02-14 16:23:41,103 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 [2019-02-14 16:23:41,103 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:23:41,103 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:23:41,104 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:23:41,104 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2019-02-14 16:23:41,106 INFO L207 CegarAbsIntRunner]: [0], [18], [23] [2019-02-14 16:23:41,151 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:23:41,151 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:23:41,315 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:23:41,317 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Performed 62 root evaluator evaluations with a maximum evaluation depth of 3. Performed 62 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2019-02-14 16:23:41,327 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:23:41,328 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:23:41,329 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:23:41,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 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:23:41,346 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:23:41,346 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:23:41,376 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:23:41,395 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:23:41,399 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:23:41,626 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2019-02-14 16:23:41,746 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:41,748 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 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 [2019-02-14 16:23:41,785 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:41,787 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:41,789 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 [2019-02-14 16:23:41,824 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:41,826 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:41,831 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:41,833 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 [2019-02-14 16:23:42,096 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:42,121 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:42,146 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:42,171 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:42,172 INFO L303 Elim1Store]: Index analysis took 112 ms [2019-02-14 16:23:42,175 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 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 [2019-02-14 16:23:42,204 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:23:42,348 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:23:42,385 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:23:42,423 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:23:42,437 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:23:42,473 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:23:42,474 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:31, output treesize:38 [2019-02-14 16:23:42,481 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:23:42,482 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_27|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_27| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:23:42,482 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:23:42,744 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:42,746 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:42,748 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:42,751 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:42,753 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:42,756 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:42,759 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:42,762 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:42,765 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:42,767 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:42,771 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:42,772 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2019-02-14 16:23:42,800 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:23:42,859 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:23:42,860 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-14 16:23:44,899 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:23:44,899 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_28|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_28| ULTIMATE.start_main_p4))) (and (= (store |v_#memory_int_28| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_28| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_28| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_28| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_28| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= .cse0 0))) [2019-02-14 16:23:44,899 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:23:44,985 INFO L273 TraceCheckUtils]: 0: Hoare triple {102#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {109#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-14 16:23:44,992 INFO L273 TraceCheckUtils]: 1: Hoare triple {109#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {113#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2019-02-14 16:23:44,993 INFO L273 TraceCheckUtils]: 2: Hoare triple {113#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {103#false} is VALID [2019-02-14 16:23:44,994 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:23:44,994 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:23:45,048 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 [2019-02-14 16:23:45,050 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 [2019-02-14 16:23:45,052 INFO L273 TraceCheckUtils]: 0: Hoare triple {102#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {121#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:23:45,053 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:23:45,073 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:23:45,073 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2019-02-14 16:23:45,074 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:23:45,075 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2019-02-14 16:23:45,075 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:23:45,075 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2019-02-14 16:23:45,094 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:23:45,094 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2019-02-14 16:23:45,095 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2019-02-14 16:23:45,095 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2019-02-14 16:23:45,095 INFO L87 Difference]: Start difference. First operand 12 states and 21 transitions. Second operand 6 states. [2019-02-14 16:23:45,830 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:23:45,831 INFO L93 Difference]: Finished difference Result 39 states and 56 transitions. [2019-02-14 16:23:45,831 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2019-02-14 16:23:45,831 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2019-02-14 16:23:45,831 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:23:45,831 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-14 16:23:45,834 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2019-02-14 16:23:45,834 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-14 16:23:45,836 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 56 transitions. [2019-02-14 16:23:45,836 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 56 transitions. [2019-02-14 16:23:46,000 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:23:46,003 INFO L225 Difference]: With dead ends: 39 [2019-02-14 16:23:46,003 INFO L226 Difference]: Without dead ends: 37 [2019-02-14 16:23:46,004 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2019-02-14 16:23:46,005 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 37 states. [2019-02-14 16:23:46,031 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 37 to 16. [2019-02-14 16:23:46,031 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:23:46,031 INFO L82 GeneralOperation]: Start isEquivalent. First operand 37 states. Second operand 16 states. [2019-02-14 16:23:46,032 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 16 states. [2019-02-14 16:23:46,032 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 16 states. [2019-02-14 16:23:46,036 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:23:46,036 INFO L93 Difference]: Finished difference Result 37 states and 53 transitions. [2019-02-14 16:23:46,036 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 53 transitions. [2019-02-14 16:23:46,037 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:23:46,037 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:23:46,037 INFO L74 IsIncluded]: Start isIncluded. First operand 16 states. Second operand 37 states. [2019-02-14 16:23:46,037 INFO L87 Difference]: Start difference. First operand 16 states. Second operand 37 states. [2019-02-14 16:23:46,041 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:23:46,041 INFO L93 Difference]: Finished difference Result 37 states and 53 transitions. [2019-02-14 16:23:46,041 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 53 transitions. [2019-02-14 16:23:46,042 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:23:46,042 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:23:46,042 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:23:46,042 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:23:46,043 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 16 states. [2019-02-14 16:23:46,044 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 32 transitions. [2019-02-14 16:23:46,045 INFO L78 Accepts]: Start accepts. Automaton has 16 states and 32 transitions. Word has length 3 [2019-02-14 16:23:46,045 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:23:46,045 INFO L480 AbstractCegarLoop]: Abstraction has 16 states and 32 transitions. [2019-02-14 16:23:46,045 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2019-02-14 16:23:46,045 INFO L276 IsEmpty]: Start isEmpty. Operand 16 states and 32 transitions. [2019-02-14 16:23:46,046 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2019-02-14 16:23:46,046 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:23:46,046 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2019-02-14 16:23:46,046 INFO L423 AbstractCegarLoop]: === Iteration 3 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:23:46,047 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:23:46,047 INFO L82 PathProgramCache]: Analyzing trace with hash 30434, now seen corresponding path program 1 times [2019-02-14 16:23:46,047 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:23:46,048 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:23:46,048 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:23:46,048 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:23:46,049 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:23:46,062 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:23:46,160 INFO L273 TraceCheckUtils]: 0: Hoare triple {262#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {264#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:23:46,161 INFO L273 TraceCheckUtils]: 1: Hoare triple {264#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {265#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-14 16:23:46,164 INFO L273 TraceCheckUtils]: 2: Hoare triple {265#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {263#false} is VALID [2019-02-14 16:23:46,165 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:23:46,165 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:23:46,166 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:23:46,166 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2019-02-14 16:23:46,166 INFO L207 CegarAbsIntRunner]: [0], [20], [23] [2019-02-14 16:23:46,168 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:23:46,168 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:23:46,187 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:23:46,187 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Performed 62 root evaluator evaluations with a maximum evaluation depth of 3. Performed 62 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2019-02-14 16:23:46,188 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:23:46,188 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:23:46,188 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:23:46,188 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 3 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:23:46,197 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:23:46,197 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:23:46,203 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:23:46,207 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:23:46,208 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:23:46,260 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 [2019-02-14 16:23:46,275 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:46,277 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2019-02-14 16:23:46,295 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:46,297 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:46,300 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2019-02-14 16:23:46,323 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:46,324 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:46,326 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:46,329 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 [2019-02-14 16:23:46,369 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:46,370 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:46,372 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:46,373 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:46,375 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 [2019-02-14 16:23:46,385 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:23:46,418 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:23:46,438 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:23:46,451 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:23:46,464 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:23:46,491 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:23:46,492 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:31, output treesize:38 [2019-02-14 16:23:46,502 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:23:46,502 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_30|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_30| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:23:46,502 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:23:46,572 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:46,573 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:46,574 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:46,575 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:46,576 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:46,609 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:46,632 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:46,637 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:46,639 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:46,640 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:46,641 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:46,642 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2019-02-14 16:23:46,648 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:23:46,719 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:23:46,719 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-14 16:23:48,728 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:23:48,729 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_31|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_31| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_31| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_31| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_31| ULTIMATE.start_main_p4) 0) (= .cse0 0) (= (store |v_#memory_int_31| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_31| ULTIMATE.start_main_p1) 0))) [2019-02-14 16:23:48,729 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:23:48,788 INFO L273 TraceCheckUtils]: 0: Hoare triple {262#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {269#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2019-02-14 16:23:48,792 INFO L273 TraceCheckUtils]: 1: Hoare triple {269#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {273#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2019-02-14 16:23:48,793 INFO L273 TraceCheckUtils]: 2: Hoare triple {273#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {263#false} is VALID [2019-02-14 16:23:48,793 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:23:48,793 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:23:48,816 INFO L273 TraceCheckUtils]: 2: Hoare triple {277#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {263#false} is VALID [2019-02-14 16:23:48,817 INFO L273 TraceCheckUtils]: 1: Hoare triple {281#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {277#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:23:48,820 INFO L273 TraceCheckUtils]: 0: Hoare triple {262#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {281#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:23:48,820 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:23:48,840 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 2 imperfect interpolant sequences. [2019-02-14 16:23:48,841 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2, 2] total 6 [2019-02-14 16:23:48,841 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-02-14 16:23:48,841 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 3 [2019-02-14 16:23:48,841 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:23:48,841 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2019-02-14 16:23:48,847 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 3 edges. 3 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:23:48,847 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2019-02-14 16:23:48,847 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2019-02-14 16:23:48,848 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=30, Unknown=0, NotChecked=0, Total=56 [2019-02-14 16:23:48,848 INFO L87 Difference]: Start difference. First operand 16 states and 32 transitions. Second operand 4 states. [2019-02-14 16:23:49,021 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:23:49,022 INFO L93 Difference]: Finished difference Result 18 states and 39 transitions. [2019-02-14 16:23:49,022 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2019-02-14 16:23:49,022 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 3 [2019-02-14 16:23:49,022 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:23:49,022 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-02-14 16:23:49,023 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 22 transitions. [2019-02-14 16:23:49,023 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-02-14 16:23:49,024 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 22 transitions. [2019-02-14 16:23:49,024 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 22 transitions. [2019-02-14 16:23:49,077 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 22 edges. 22 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:23:49,079 INFO L225 Difference]: With dead ends: 18 [2019-02-14 16:23:49,079 INFO L226 Difference]: Without dead ends: 17 [2019-02-14 16:23:49,079 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=26, Invalid=30, Unknown=0, NotChecked=0, Total=56 [2019-02-14 16:23:49,080 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 17 states. [2019-02-14 16:23:49,125 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 17 to 17. [2019-02-14 16:23:49,125 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:23:49,125 INFO L82 GeneralOperation]: Start isEquivalent. First operand 17 states. Second operand 17 states. [2019-02-14 16:23:49,125 INFO L74 IsIncluded]: Start isIncluded. First operand 17 states. Second operand 17 states. [2019-02-14 16:23:49,126 INFO L87 Difference]: Start difference. First operand 17 states. Second operand 17 states. [2019-02-14 16:23:49,128 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:23:49,128 INFO L93 Difference]: Finished difference Result 17 states and 38 transitions. [2019-02-14 16:23:49,128 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 38 transitions. [2019-02-14 16:23:49,128 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:23:49,128 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:23:49,129 INFO L74 IsIncluded]: Start isIncluded. First operand 17 states. Second operand 17 states. [2019-02-14 16:23:49,129 INFO L87 Difference]: Start difference. First operand 17 states. Second operand 17 states. [2019-02-14 16:23:49,130 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:23:49,130 INFO L93 Difference]: Finished difference Result 17 states and 38 transitions. [2019-02-14 16:23:49,130 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 38 transitions. [2019-02-14 16:23:49,131 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:23:49,131 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:23:49,131 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:23:49,131 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:23:49,131 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2019-02-14 16:23:49,132 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 38 transitions. [2019-02-14 16:23:49,133 INFO L78 Accepts]: Start accepts. Automaton has 17 states and 38 transitions. Word has length 3 [2019-02-14 16:23:49,133 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:23:49,133 INFO L480 AbstractCegarLoop]: Abstraction has 17 states and 38 transitions. [2019-02-14 16:23:49,133 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2019-02-14 16:23:49,133 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 38 transitions. [2019-02-14 16:23:49,133 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2019-02-14 16:23:49,134 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:23:49,134 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2019-02-14 16:23:49,134 INFO L423 AbstractCegarLoop]: === Iteration 4 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:23:49,134 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:23:49,135 INFO L82 PathProgramCache]: Analyzing trace with hash 30560, now seen corresponding path program 1 times [2019-02-14 16:23:49,135 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:23:49,136 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:23:49,136 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:23:49,136 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:23:49,136 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:23:49,146 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:23:49,181 INFO L273 TraceCheckUtils]: 0: Hoare triple {361#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {363#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:23:49,184 INFO L273 TraceCheckUtils]: 1: Hoare triple {363#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {363#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:23:49,185 INFO L273 TraceCheckUtils]: 2: Hoare triple {363#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {362#false} is VALID [2019-02-14 16:23:49,185 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:23:49,185 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2019-02-14 16:23:49,186 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2019-02-14 16:23:49,186 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-02-14 16:23:49,186 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 3 [2019-02-14 16:23:49,186 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:23:49,187 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2019-02-14 16:23:49,194 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 3 edges. 3 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:23:49,194 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2019-02-14 16:23:49,195 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2019-02-14 16:23:49,195 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2019-02-14 16:23:49,195 INFO L87 Difference]: Start difference. First operand 17 states and 38 transitions. Second operand 3 states. [2019-02-14 16:23:49,324 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:23:49,324 INFO L93 Difference]: Finished difference Result 21 states and 39 transitions. [2019-02-14 16:23:49,325 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2019-02-14 16:23:49,325 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 3 [2019-02-14 16:23:49,325 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:23:49,325 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-02-14 16:23:49,326 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 27 transitions. [2019-02-14 16:23:49,326 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-02-14 16:23:49,327 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 27 transitions. [2019-02-14 16:23:49,327 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 27 transitions. [2019-02-14 16:23:49,367 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 27 edges. 27 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:23:49,369 INFO L225 Difference]: With dead ends: 21 [2019-02-14 16:23:49,369 INFO L226 Difference]: Without dead ends: 20 [2019-02-14 16:23:49,370 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 1 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2019-02-14 16:23:49,370 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 20 states. [2019-02-14 16:23:49,401 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 20 to 17. [2019-02-14 16:23:49,402 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:23:49,402 INFO L82 GeneralOperation]: Start isEquivalent. First operand 20 states. Second operand 17 states. [2019-02-14 16:23:49,402 INFO L74 IsIncluded]: Start isIncluded. First operand 20 states. Second operand 17 states. [2019-02-14 16:23:49,402 INFO L87 Difference]: Start difference. First operand 20 states. Second operand 17 states. [2019-02-14 16:23:49,406 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:23:49,406 INFO L93 Difference]: Finished difference Result 20 states and 38 transitions. [2019-02-14 16:23:49,406 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 38 transitions. [2019-02-14 16:23:49,407 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:23:49,407 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:23:49,407 INFO L74 IsIncluded]: Start isIncluded. First operand 17 states. Second operand 20 states. [2019-02-14 16:23:49,407 INFO L87 Difference]: Start difference. First operand 17 states. Second operand 20 states. [2019-02-14 16:23:49,408 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:23:49,409 INFO L93 Difference]: Finished difference Result 20 states and 38 transitions. [2019-02-14 16:23:49,409 INFO L276 IsEmpty]: Start isEmpty. Operand 20 states and 38 transitions. [2019-02-14 16:23:49,409 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:23:49,409 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:23:49,410 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:23:49,410 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:23:49,410 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 17 states. [2019-02-14 16:23:49,411 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 37 transitions. [2019-02-14 16:23:49,411 INFO L78 Accepts]: Start accepts. Automaton has 17 states and 37 transitions. Word has length 3 [2019-02-14 16:23:49,412 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:23:49,412 INFO L480 AbstractCegarLoop]: Abstraction has 17 states and 37 transitions. [2019-02-14 16:23:49,412 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2019-02-14 16:23:49,412 INFO L276 IsEmpty]: Start isEmpty. Operand 17 states and 37 transitions. [2019-02-14 16:23:49,412 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2019-02-14 16:23:49,413 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:23:49,413 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2019-02-14 16:23:49,413 INFO L423 AbstractCegarLoop]: === Iteration 5 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:23:49,414 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:23:49,414 INFO L82 PathProgramCache]: Analyzing trace with hash 30124, now seen corresponding path program 1 times [2019-02-14 16:23:49,414 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:23:49,415 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:23:49,415 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:23:49,415 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:23:49,415 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:23:49,425 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:23:49,538 INFO L273 TraceCheckUtils]: 0: Hoare triple {452#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {454#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:23:49,539 INFO L273 TraceCheckUtils]: 1: Hoare triple {454#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {455#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-14 16:23:49,540 INFO L273 TraceCheckUtils]: 2: Hoare triple {455#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {453#false} is VALID [2019-02-14 16:23:49,540 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:23:49,541 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:23:49,541 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:23:49,541 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2019-02-14 16:23:49,541 INFO L207 CegarAbsIntRunner]: [0], [10], [23] [2019-02-14 16:23:49,544 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:23:49,544 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:23:49,565 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:23:49,565 INFO L272 AbstractInterpreter]: Visited 3 different actions 3 times. Never merged. Never widened. Performed 62 root evaluator evaluations with a maximum evaluation depth of 3. Performed 62 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2019-02-14 16:23:49,566 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:23:49,566 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:23:49,566 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:23:49,566 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 4 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:23:49,576 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:23:49,577 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:23:49,581 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:23:49,586 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:23:49,586 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:23:49,615 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 [2019-02-14 16:23:49,629 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:49,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 [2019-02-14 16:23:49,657 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:49,658 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:49,660 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 [2019-02-14 16:23:49,677 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:49,678 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:49,680 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:49,681 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 [2019-02-14 16:23:49,709 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:49,710 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:49,712 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:49,714 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:49,716 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 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 [2019-02-14 16:23:49,720 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:23:49,778 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:23:49,795 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:23:49,809 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:23:49,820 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:23:49,845 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:23:49,846 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:31, output treesize:38 [2019-02-14 16:23:49,862 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:23:49,863 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_33|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_33| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:23:49,863 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:23:49,958 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:49,960 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:49,961 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:49,963 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:49,969 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:49,970 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:49,971 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:49,971 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:49,972 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:49,973 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:49,974 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:49,976 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2019-02-14 16:23:50,011 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:23:50,065 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:23:50,065 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-14 16:23:50,119 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:23:50,119 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_34|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_34| ULTIMATE.start_main_p2))) (and (= |#memory_int| (store |v_#memory_int_34| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_34| ULTIMATE.start_main_p1) 0) (= .cse0 0) (= (select |v_#memory_int_34| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_34| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_34| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:23:50,119 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:23:50,167 INFO L273 TraceCheckUtils]: 0: Hoare triple {452#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {459#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:23:50,170 INFO L273 TraceCheckUtils]: 1: Hoare triple {459#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {463#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-02-14 16:23:50,171 INFO L273 TraceCheckUtils]: 2: Hoare triple {463#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {453#false} is VALID [2019-02-14 16:23:50,171 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:23:50,172 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:23:50,267 INFO L273 TraceCheckUtils]: 2: Hoare triple {467#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {453#false} is VALID [2019-02-14 16:23:50,268 INFO L273 TraceCheckUtils]: 1: Hoare triple {471#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {467#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:23:50,270 INFO L273 TraceCheckUtils]: 0: Hoare triple {452#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {471#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:23:50,270 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:23:50,290 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:23:50,290 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2019-02-14 16:23:50,290 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:23:50,291 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2019-02-14 16:23:50,291 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:23:50,291 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2019-02-14 16:23:50,304 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:23:50,304 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2019-02-14 16:23:50,304 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2019-02-14 16:23:50,305 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2019-02-14 16:23:50,305 INFO L87 Difference]: Start difference. First operand 17 states and 37 transitions. Second operand 6 states. [2019-02-14 16:23:50,913 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:23:50,913 INFO L93 Difference]: Finished difference Result 39 states and 66 transitions. [2019-02-14 16:23:50,913 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2019-02-14 16:23:50,914 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 3 [2019-02-14 16:23:50,914 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:23:50,914 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-14 16:23:50,915 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 54 transitions. [2019-02-14 16:23:50,915 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-14 16:23:50,916 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 54 transitions. [2019-02-14 16:23:50,916 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 54 transitions. [2019-02-14 16:23:51,099 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:23:51,100 INFO L225 Difference]: With dead ends: 39 [2019-02-14 16:23:51,101 INFO L226 Difference]: Without dead ends: 38 [2019-02-14 16:23:51,101 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 7 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2019-02-14 16:23:51,101 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2019-02-14 16:23:51,144 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 18. [2019-02-14 16:23:51,144 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:23:51,144 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand 18 states. [2019-02-14 16:23:51,144 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 18 states. [2019-02-14 16:23:51,145 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 18 states. [2019-02-14 16:23:51,148 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:23:51,148 INFO L93 Difference]: Finished difference Result 38 states and 64 transitions. [2019-02-14 16:23:51,148 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 64 transitions. [2019-02-14 16:23:51,149 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:23:51,149 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:23:51,149 INFO L74 IsIncluded]: Start isIncluded. First operand 18 states. Second operand 38 states. [2019-02-14 16:23:51,149 INFO L87 Difference]: Start difference. First operand 18 states. Second operand 38 states. [2019-02-14 16:23:51,151 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:23:51,151 INFO L93 Difference]: Finished difference Result 38 states and 64 transitions. [2019-02-14 16:23:51,152 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 64 transitions. [2019-02-14 16:23:51,152 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:23:51,152 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:23:51,152 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:23:51,153 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:23:51,153 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 18 states. [2019-02-14 16:23:51,154 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 43 transitions. [2019-02-14 16:23:51,154 INFO L78 Accepts]: Start accepts. Automaton has 18 states and 43 transitions. Word has length 3 [2019-02-14 16:23:51,154 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:23:51,154 INFO L480 AbstractCegarLoop]: Abstraction has 18 states and 43 transitions. [2019-02-14 16:23:51,154 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2019-02-14 16:23:51,154 INFO L276 IsEmpty]: Start isEmpty. Operand 18 states and 43 transitions. [2019-02-14 16:23:51,155 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-02-14 16:23:51,155 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:23:51,155 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-02-14 16:23:51,155 INFO L423 AbstractCegarLoop]: === Iteration 6 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:23:51,156 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:23:51,156 INFO L82 PathProgramCache]: Analyzing trace with hash 941462, now seen corresponding path program 1 times [2019-02-14 16:23:51,156 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:23:51,157 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:23:51,157 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:23:51,157 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:23:51,157 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:23:51,169 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:23:51,377 INFO L273 TraceCheckUtils]: 0: Hoare triple {620#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {622#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2019-02-14 16:23:51,379 INFO L273 TraceCheckUtils]: 1: Hoare triple {622#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {623#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:23:51,380 INFO L273 TraceCheckUtils]: 2: Hoare triple {623#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {624#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-14 16:23:51,381 INFO L273 TraceCheckUtils]: 3: Hoare triple {624#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {621#false} is VALID [2019-02-14 16:23:51,381 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:23:51,381 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:23:51,382 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:23:51,382 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-02-14 16:23:51,382 INFO L207 CegarAbsIntRunner]: [0], [18], [20], [23] [2019-02-14 16:23:51,385 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:23:51,385 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:23:51,407 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:23:51,407 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-14 16:23:51,408 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:23:51,408 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:23:51,408 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:23:51,408 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 5 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:23:51,417 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:23:51,417 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:23:51,422 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:23:51,429 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:23:51,429 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:23:51,547 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 [2019-02-14 16:23:51,556 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:51,557 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 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 [2019-02-14 16:23:51,581 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:51,583 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:51,585 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 [2019-02-14 16:23:51,652 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:51,653 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:51,654 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:51,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 [2019-02-14 16:23:51,677 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:51,679 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:51,680 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:51,681 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:51,683 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 [2019-02-14 16:23:51,686 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:23:51,714 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:23:51,731 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:23:51,743 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:23:51,754 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:23:51,777 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:23:51,777 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2019-02-14 16:23:51,786 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:23:51,787 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_36|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_36| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:23:51,787 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:23:51,843 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:51,844 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:51,846 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:51,847 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:51,849 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:51,850 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:51,852 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:51,853 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:51,854 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:51,860 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:51,861 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:51,862 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2019-02-14 16:23:51,874 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:23:51,922 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:23:51,922 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-14 16:23:53,925 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:23:53,926 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_37|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_37| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_37| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_37| ULTIMATE.start_main_p3)) (= 0 .cse0) (= 0 (select |v_#memory_int_37| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_37| ULTIMATE.start_main_p1) 0) (= |#memory_int| (store |v_#memory_int_37| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:23:53,926 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:23:54,193 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:54,195 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:54,198 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:54,201 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:54,204 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:54,206 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:54,207 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:54,207 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:54,208 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:54,209 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:54,210 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:54,212 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:54,213 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:54,215 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 80 [2019-02-14 16:23:54,223 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:23:54,275 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:23:54,275 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-14 16:23:56,284 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:23:56,284 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_38|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_38| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |v_#memory_int_38| ULTIMATE.start_main_p4) 1)) (= 0 .cse0) (= (select |v_#memory_int_38| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_38| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_38| ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_38| ULTIMATE.start_main_p5 (+ .cse0 1))))) [2019-02-14 16:23:56,284 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:23:56,348 INFO L273 TraceCheckUtils]: 0: Hoare triple {620#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {628#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-14 16:23:56,350 INFO L273 TraceCheckUtils]: 1: Hoare triple {628#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {632#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-02-14 16:23:56,356 INFO L273 TraceCheckUtils]: 2: Hoare triple {632#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {636#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2019-02-14 16:23:56,357 INFO L273 TraceCheckUtils]: 3: Hoare triple {636#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} assume !(#memory_int[main_p1] >= 0); {621#false} is VALID [2019-02-14 16:23:56,357 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:23:56,357 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:23:56,533 INFO L273 TraceCheckUtils]: 3: Hoare triple {640#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {621#false} is VALID [2019-02-14 16:23:56,534 INFO L273 TraceCheckUtils]: 2: Hoare triple {644#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {640#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:23:56,535 INFO L273 TraceCheckUtils]: 1: Hoare triple {648#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {644#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:23:56,537 INFO L273 TraceCheckUtils]: 0: Hoare triple {620#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {648#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:23:56,538 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:23:56,556 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:23:56,556 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-14 16:23:56,556 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:23:56,557 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-02-14 16:23:56,557 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:23:56,557 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-14 16:23:56,572 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:23:56,572 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-14 16:23:56,572 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-14 16:23:56,572 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2019-02-14 16:23:56,572 INFO L87 Difference]: Start difference. First operand 18 states and 43 transitions. Second operand 8 states. [2019-02-14 16:23:57,698 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:23:57,698 INFO L93 Difference]: Finished difference Result 49 states and 91 transitions. [2019-02-14 16:23:57,698 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-02-14 16:23:57,699 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-02-14 16:23:57,699 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:23:57,699 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:23:57,700 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 67 transitions. [2019-02-14 16:23:57,700 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:23:57,701 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 67 transitions. [2019-02-14 16:23:57,701 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 67 transitions. [2019-02-14 16:23:57,884 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:23:57,886 INFO L225 Difference]: With dead ends: 49 [2019-02-14 16:23:57,887 INFO L226 Difference]: Without dead ends: 44 [2019-02-14 16:23:57,887 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2019-02-14 16:23:57,888 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2019-02-14 16:23:57,944 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 22. [2019-02-14 16:23:57,945 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:23:57,945 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand 22 states. [2019-02-14 16:23:57,945 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 22 states. [2019-02-14 16:23:57,945 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 22 states. [2019-02-14 16:23:57,947 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:23:57,947 INFO L93 Difference]: Finished difference Result 44 states and 84 transitions. [2019-02-14 16:23:57,948 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 84 transitions. [2019-02-14 16:23:57,948 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:23:57,948 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:23:57,948 INFO L74 IsIncluded]: Start isIncluded. First operand 22 states. Second operand 44 states. [2019-02-14 16:23:57,948 INFO L87 Difference]: Start difference. First operand 22 states. Second operand 44 states. [2019-02-14 16:23:57,950 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:23:57,951 INFO L93 Difference]: Finished difference Result 44 states and 84 transitions. [2019-02-14 16:23:57,951 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 84 transitions. [2019-02-14 16:23:57,951 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:23:57,952 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:23:57,952 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:23:57,952 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:23:57,952 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 22 states. [2019-02-14 16:23:57,953 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 22 states to 22 states and 58 transitions. [2019-02-14 16:23:57,953 INFO L78 Accepts]: Start accepts. Automaton has 22 states and 58 transitions. Word has length 4 [2019-02-14 16:23:57,953 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:23:57,954 INFO L480 AbstractCegarLoop]: Abstraction has 22 states and 58 transitions. [2019-02-14 16:23:57,954 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-14 16:23:57,954 INFO L276 IsEmpty]: Start isEmpty. Operand 22 states and 58 transitions. [2019-02-14 16:23:57,954 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-02-14 16:23:57,954 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:23:57,954 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-02-14 16:23:57,955 INFO L423 AbstractCegarLoop]: === Iteration 7 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:23:57,955 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:23:57,955 INFO L82 PathProgramCache]: Analyzing trace with hash 941028, now seen corresponding path program 1 times [2019-02-14 16:23:57,955 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:23:57,956 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:23:57,956 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:23:57,956 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:23:57,956 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:23:57,964 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:23:58,045 INFO L273 TraceCheckUtils]: 0: Hoare triple {830#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {832#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2019-02-14 16:23:58,046 INFO L273 TraceCheckUtils]: 1: Hoare triple {832#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {833#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-14 16:23:58,047 INFO L273 TraceCheckUtils]: 2: Hoare triple {833#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {834#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:23:58,047 INFO L273 TraceCheckUtils]: 3: Hoare triple {834#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {831#false} is VALID [2019-02-14 16:23:58,047 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:23:58,048 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:23:58,048 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:23:58,048 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-02-14 16:23:58,048 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [23] [2019-02-14 16:23:58,051 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:23:58,051 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:23:58,067 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:23:58,067 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-14 16:23:58,068 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:23:58,068 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:23:58,068 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:23:58,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 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 6 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:23:58,077 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:23:58,077 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:23:58,082 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:23:58,087 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:23:58,087 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:23:58,117 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 [2019-02-14 16:23:58,131 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:58,133 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 [2019-02-14 16:23:58,184 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:58,185 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:58,186 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 [2019-02-14 16:23:58,205 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:58,206 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:58,207 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:58,208 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 [2019-02-14 16:23:58,227 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:58,229 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:58,230 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:58,232 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:58,233 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 [2019-02-14 16:23:58,236 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:23:58,265 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:23:58,283 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:23:58,295 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:23:58,306 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:23:58,326 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:23:58,327 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:31, output treesize:38 [2019-02-14 16:23:58,338 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:23:58,338 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_41|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_41| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:23:58,339 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:23:58,406 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:58,414 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:58,415 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:58,416 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:58,416 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:58,419 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:58,420 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:58,421 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:58,421 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:58,422 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:58,423 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:23:58,425 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2019-02-14 16:23:58,428 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:23:58,483 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:23:58,483 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-14 16:24:00,486 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:00,486 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_42|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_42| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_42| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_42| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_42| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_42| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_42| ULTIMATE.start_main_p5) 0))) [2019-02-14 16:24:00,487 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:24:00,672 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:00,674 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:00,675 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:00,676 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:00,677 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:00,679 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:00,680 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:00,681 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:00,682 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:00,684 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:00,685 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:00,686 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:00,687 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:00,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, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 88 [2019-02-14 16:24:00,695 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:00,747 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:00,747 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-14 16:24:00,781 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:00,782 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_43|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_43| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_43| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (store |v_#memory_int_43| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_43| ULTIMATE.start_main_p3) 0) (= (+ (select |v_#memory_int_43| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_43| ULTIMATE.start_main_p5) 0))) [2019-02-14 16:24:00,782 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:24:00,814 INFO L273 TraceCheckUtils]: 0: Hoare triple {830#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {838#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-14 16:24:00,818 INFO L273 TraceCheckUtils]: 1: Hoare triple {838#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {842#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2019-02-14 16:24:00,827 INFO L273 TraceCheckUtils]: 2: Hoare triple {842#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {846#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2019-02-14 16:24:00,828 INFO L273 TraceCheckUtils]: 3: Hoare triple {846#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} assume !(#memory_int[main_p1] >= 0); {831#false} is VALID [2019-02-14 16:24:00,829 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:00,829 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:24:00,858 INFO L273 TraceCheckUtils]: 3: Hoare triple {834#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {831#false} is VALID [2019-02-14 16:24:00,859 INFO L273 TraceCheckUtils]: 2: Hoare triple {853#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {834#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:24:00,860 INFO L273 TraceCheckUtils]: 1: Hoare triple {857#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {853#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2019-02-14 16:24:00,862 INFO L273 TraceCheckUtils]: 0: Hoare triple {830#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {857#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2019-02-14 16:24:00,862 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:00,882 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:24:00,882 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2019-02-14 16:24:00,882 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:24:00,882 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-02-14 16:24:00,883 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:24:00,883 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-14 16:24:00,901 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:24:00,901 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-14 16:24:00,901 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-14 16:24:00,902 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=51, Unknown=0, NotChecked=0, Total=90 [2019-02-14 16:24:00,902 INFO L87 Difference]: Start difference. First operand 22 states and 58 transitions. Second operand 8 states. [2019-02-14 16:24:01,964 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:01,964 INFO L93 Difference]: Finished difference Result 47 states and 98 transitions. [2019-02-14 16:24:01,965 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-14 16:24:01,965 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-02-14 16:24:01,965 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:24:01,965 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:24:01,966 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 68 transitions. [2019-02-14 16:24:01,966 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:24:01,967 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 68 transitions. [2019-02-14 16:24:01,968 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 68 transitions. [2019-02-14 16:24:02,230 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:24:02,232 INFO L225 Difference]: With dead ends: 47 [2019-02-14 16:24:02,232 INFO L226 Difference]: Without dead ends: 46 [2019-02-14 16:24:02,232 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 [2019-02-14 16:24:02,232 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2019-02-14 16:24:02,348 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 24. [2019-02-14 16:24:02,349 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:24:02,349 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand 24 states. [2019-02-14 16:24:02,349 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand 24 states. [2019-02-14 16:24:02,349 INFO L87 Difference]: Start difference. First operand 46 states. Second operand 24 states. [2019-02-14 16:24:02,352 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:02,352 INFO L93 Difference]: Finished difference Result 46 states and 96 transitions. [2019-02-14 16:24:02,352 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 96 transitions. [2019-02-14 16:24:02,353 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:24:02,353 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:24:02,353 INFO L74 IsIncluded]: Start isIncluded. First operand 24 states. Second operand 46 states. [2019-02-14 16:24:02,353 INFO L87 Difference]: Start difference. First operand 24 states. Second operand 46 states. [2019-02-14 16:24:02,355 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:02,356 INFO L93 Difference]: Finished difference Result 46 states and 96 transitions. [2019-02-14 16:24:02,356 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 96 transitions. [2019-02-14 16:24:02,356 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:24:02,356 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:24:02,357 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:24:02,357 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:24:02,357 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 24 states. [2019-02-14 16:24:02,358 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 24 states to 24 states and 70 transitions. [2019-02-14 16:24:02,359 INFO L78 Accepts]: Start accepts. Automaton has 24 states and 70 transitions. Word has length 4 [2019-02-14 16:24:02,359 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:24:02,359 INFO L480 AbstractCegarLoop]: Abstraction has 24 states and 70 transitions. [2019-02-14 16:24:02,359 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-14 16:24:02,359 INFO L276 IsEmpty]: Start isEmpty. Operand 24 states and 70 transitions. [2019-02-14 16:24:02,359 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-02-14 16:24:02,360 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:24:02,360 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-02-14 16:24:02,360 INFO L423 AbstractCegarLoop]: === Iteration 8 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:24:02,360 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:24:02,360 INFO L82 PathProgramCache]: Analyzing trace with hash 941588, now seen corresponding path program 1 times [2019-02-14 16:24:02,361 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:24:02,361 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:24:02,361 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:24:02,362 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:24:02,362 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:24:02,370 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:02,461 INFO L273 TraceCheckUtils]: 0: Hoare triple {1045#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1047#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2019-02-14 16:24:02,463 INFO L273 TraceCheckUtils]: 1: Hoare triple {1047#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1048#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:24:02,463 INFO L273 TraceCheckUtils]: 2: Hoare triple {1048#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {1048#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:24:02,464 INFO L273 TraceCheckUtils]: 3: Hoare triple {1048#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {1046#false} is VALID [2019-02-14 16:24:02,464 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:02,465 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:24:02,465 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:24:02,465 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-02-14 16:24:02,465 INFO L207 CegarAbsIntRunner]: [0], [18], [24], [25] [2019-02-14 16:24:02,467 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:24:02,467 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:24:02,489 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:24:02,489 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2019-02-14 16:24:02,489 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:24:02,489 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:24:02,490 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:24:02,490 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 7 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:24:02,499 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:24:02,499 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:24:02,504 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:02,511 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:02,511 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:24:02,533 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 [2019-02-14 16:24:02,545 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 [2019-02-14 16:24:02,567 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:02,568 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-14 16:24:02,583 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:02,583 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:02,584 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-14 16:24:02,621 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:02,624 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:02,625 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:02,627 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 [2019-02-14 16:24:02,631 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:02,651 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:02,664 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:02,675 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:02,686 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:02,705 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:02,706 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:28, output treesize:35 [2019-02-14 16:24:02,715 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:02,716 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_46|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_46| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:24:02,716 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:24:02,772 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:02,774 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:02,775 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:02,776 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:02,778 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:02,779 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:02,780 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:02,782 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 [2019-02-14 16:24:02,785 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:02,811 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:02,812 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2019-02-14 16:24:04,823 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:04,823 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_47|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_47| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_47| ULTIMATE.start_main_p3) 0) (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_47| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_47| ULTIMATE.start_main_p2) 0) (= |#memory_int| (store |v_#memory_int_47| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:24:04,823 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:24:04,865 INFO L273 TraceCheckUtils]: 0: Hoare triple {1045#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1052#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-14 16:24:04,867 INFO L273 TraceCheckUtils]: 1: Hoare triple {1052#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1056#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:24:04,867 INFO L273 TraceCheckUtils]: 2: Hoare triple {1056#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {1056#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:24:04,871 INFO L273 TraceCheckUtils]: 3: Hoare triple {1056#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {1046#false} is VALID [2019-02-14 16:24:04,871 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:04,871 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:24:04,891 INFO L273 TraceCheckUtils]: 3: Hoare triple {1063#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {1046#false} is VALID [2019-02-14 16:24:04,892 INFO L273 TraceCheckUtils]: 2: Hoare triple {1063#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {1063#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:24:04,893 INFO L273 TraceCheckUtils]: 1: Hoare triple {1070#(<= (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1063#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:24:04,895 INFO L273 TraceCheckUtils]: 0: Hoare triple {1045#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1070#(<= (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:24:04,896 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:04,916 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 2 imperfect interpolant sequences. [2019-02-14 16:24:04,916 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2, 2] total 6 [2019-02-14 16:24:04,916 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-02-14 16:24:04,917 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 4 [2019-02-14 16:24:04,917 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:24:04,917 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2019-02-14 16:24:04,977 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 4 edges. 4 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:24:04,977 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2019-02-14 16:24:04,977 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2019-02-14 16:24:04,977 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=30, Unknown=0, NotChecked=0, Total=56 [2019-02-14 16:24:04,978 INFO L87 Difference]: Start difference. First operand 24 states and 70 transitions. Second operand 4 states. [2019-02-14 16:24:05,345 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:05,346 INFO L93 Difference]: Finished difference Result 28 states and 79 transitions. [2019-02-14 16:24:05,346 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2019-02-14 16:24:05,346 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 4 [2019-02-14 16:24:05,346 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:24:05,346 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-02-14 16:24:05,347 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 24 transitions. [2019-02-14 16:24:05,347 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-02-14 16:24:05,347 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 24 transitions. [2019-02-14 16:24:05,347 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 24 transitions. [2019-02-14 16:24:05,370 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:24:05,371 INFO L225 Difference]: With dead ends: 28 [2019-02-14 16:24:05,371 INFO L226 Difference]: Without dead ends: 27 [2019-02-14 16:24:05,372 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 [2019-02-14 16:24:05,372 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 27 states. [2019-02-14 16:24:05,446 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 27 to 26. [2019-02-14 16:24:05,446 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:24:05,446 INFO L82 GeneralOperation]: Start isEquivalent. First operand 27 states. Second operand 26 states. [2019-02-14 16:24:05,447 INFO L74 IsIncluded]: Start isIncluded. First operand 27 states. Second operand 26 states. [2019-02-14 16:24:05,447 INFO L87 Difference]: Start difference. First operand 27 states. Second operand 26 states. [2019-02-14 16:24:05,449 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:05,450 INFO L93 Difference]: Finished difference Result 27 states and 77 transitions. [2019-02-14 16:24:05,450 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 77 transitions. [2019-02-14 16:24:05,451 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:24:05,451 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:24:05,451 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 27 states. [2019-02-14 16:24:05,451 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 27 states. [2019-02-14 16:24:05,453 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:05,453 INFO L93 Difference]: Finished difference Result 27 states and 77 transitions. [2019-02-14 16:24:05,453 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 77 transitions. [2019-02-14 16:24:05,454 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:24:05,454 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:24:05,454 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:24:05,454 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:24:05,454 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2019-02-14 16:24:05,456 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 77 transitions. [2019-02-14 16:24:05,456 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 77 transitions. Word has length 4 [2019-02-14 16:24:05,456 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:24:05,456 INFO L480 AbstractCegarLoop]: Abstraction has 26 states and 77 transitions. [2019-02-14 16:24:05,456 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2019-02-14 16:24:05,456 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 77 transitions. [2019-02-14 16:24:05,457 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-02-14 16:24:05,457 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:24:05,457 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-02-14 16:24:05,457 INFO L423 AbstractCegarLoop]: === Iteration 9 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:24:05,457 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:24:05,457 INFO L82 PathProgramCache]: Analyzing trace with hash 941152, now seen corresponding path program 1 times [2019-02-14 16:24:05,458 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:24:05,458 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:24:05,458 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:24:05,459 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:24:05,459 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:24:05,481 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:05,897 INFO L273 TraceCheckUtils]: 0: Hoare triple {1201#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1203#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2019-02-14 16:24:05,899 INFO L273 TraceCheckUtils]: 1: Hoare triple {1203#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1204#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:24:05,900 INFO L273 TraceCheckUtils]: 2: Hoare triple {1204#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1205#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-14 16:24:05,901 INFO L273 TraceCheckUtils]: 3: Hoare triple {1205#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {1202#false} is VALID [2019-02-14 16:24:05,901 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:05,901 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:24:05,902 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:24:05,902 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-02-14 16:24:05,902 INFO L207 CegarAbsIntRunner]: [0], [10], [18], [23] [2019-02-14 16:24:05,903 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:24:05,904 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:24:05,939 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:24:05,940 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-14 16:24:05,940 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:24:05,940 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:24:05,940 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:24:05,940 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 8 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:24:05,949 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:24:05,949 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:24:05,961 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:05,967 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:05,967 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:24:05,994 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 [2019-02-14 16:24:06,012 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:06,013 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 [2019-02-14 16:24:06,027 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:06,028 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:06,030 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 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 [2019-02-14 16:24:06,045 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:06,046 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:06,048 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:06,049 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2019-02-14 16:24:06,070 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:06,072 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:06,074 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:06,075 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:06,077 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 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 [2019-02-14 16:24:06,082 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:06,116 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:06,135 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:06,150 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:06,164 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:06,189 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:06,189 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2019-02-14 16:24:06,202 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:06,202 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_49|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_49| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:24:06,202 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:24:06,271 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:06,272 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:06,274 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:06,275 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:06,277 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:06,278 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:06,279 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:06,281 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:06,282 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:06,283 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:06,285 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:06,286 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2019-02-14 16:24:06,289 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:06,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. [2019-02-14 16:24:06,335 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-14 16:24:08,346 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:08,346 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_50|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_50| ULTIMATE.start_main_p4))) (and (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_50| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_50| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 .cse0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:24:08,347 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:24:08,559 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:08,560 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:08,561 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:08,562 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:08,564 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:08,565 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:08,566 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:08,568 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:08,569 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:08,570 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:08,571 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:08,572 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:24:08,574 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 81 [2019-02-14 16:24:08,577 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:08,627 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:08,628 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2019-02-14 16:24:08,689 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:08,689 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_51|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_51| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_51| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (select |v_#memory_int_51| ULTIMATE.start_main_p5) 0) (= 0 (+ (select |v_#memory_int_51| ULTIMATE.start_main_p4) 1)) (= (store |v_#memory_int_51| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_51| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:24:08,689 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:24:08,752 INFO L273 TraceCheckUtils]: 0: Hoare triple {1201#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1209#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:24:08,755 INFO L273 TraceCheckUtils]: 1: Hoare triple {1209#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1213#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:24:08,764 INFO L273 TraceCheckUtils]: 2: Hoare triple {1213#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1217#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-02-14 16:24:08,765 INFO L273 TraceCheckUtils]: 3: Hoare triple {1217#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {1202#false} is VALID [2019-02-14 16:24:08,765 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:08,765 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:24:08,807 INFO L273 TraceCheckUtils]: 3: Hoare triple {1221#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1202#false} is VALID [2019-02-14 16:24:08,808 INFO L273 TraceCheckUtils]: 2: Hoare triple {1225#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1221#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:24:08,809 INFO L273 TraceCheckUtils]: 1: Hoare triple {1229#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1225#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:24:08,811 INFO L273 TraceCheckUtils]: 0: Hoare triple {1201#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1229#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:24:08,811 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:08,831 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:24:08,831 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-14 16:24:08,831 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:24:08,831 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-02-14 16:24:08,831 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:24:08,831 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-14 16:24:08,851 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:24:08,851 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-14 16:24:08,852 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-14 16:24:08,852 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=67, Unknown=0, NotChecked=0, Total=110 [2019-02-14 16:24:08,852 INFO L87 Difference]: Start difference. First operand 26 states and 77 transitions. Second operand 8 states. [2019-02-14 16:24:10,304 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:10,304 INFO L93 Difference]: Finished difference Result 44 states and 95 transitions. [2019-02-14 16:24:10,304 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-02-14 16:24:10,304 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-02-14 16:24:10,305 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:24:10,305 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:24:10,306 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 59 transitions. [2019-02-14 16:24:10,306 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:24:10,307 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 59 transitions. [2019-02-14 16:24:10,307 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 59 transitions. [2019-02-14 16:24:10,454 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:24:10,456 INFO L225 Difference]: With dead ends: 44 [2019-02-14 16:24:10,456 INFO L226 Difference]: Without dead ends: 43 [2019-02-14 16:24:10,456 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=61, Invalid=95, Unknown=0, NotChecked=0, Total=156 [2019-02-14 16:24:10,457 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2019-02-14 16:24:10,549 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 25. [2019-02-14 16:24:10,549 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:24:10,549 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand 25 states. [2019-02-14 16:24:10,549 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand 25 states. [2019-02-14 16:24:10,549 INFO L87 Difference]: Start difference. First operand 43 states. Second operand 25 states. [2019-02-14 16:24:10,552 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:10,552 INFO L93 Difference]: Finished difference Result 43 states and 93 transitions. [2019-02-14 16:24:10,552 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 93 transitions. [2019-02-14 16:24:10,553 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:24:10,553 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:24:10,553 INFO L74 IsIncluded]: Start isIncluded. First operand 25 states. Second operand 43 states. [2019-02-14 16:24:10,553 INFO L87 Difference]: Start difference. First operand 25 states. Second operand 43 states. [2019-02-14 16:24:10,555 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:10,555 INFO L93 Difference]: Finished difference Result 43 states and 93 transitions. [2019-02-14 16:24:10,556 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 93 transitions. [2019-02-14 16:24:10,556 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:24:10,556 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:24:10,556 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:24:10,556 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:24:10,556 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 25 states. [2019-02-14 16:24:10,558 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 70 transitions. [2019-02-14 16:24:10,558 INFO L78 Accepts]: Start accepts. Automaton has 25 states and 70 transitions. Word has length 4 [2019-02-14 16:24:10,558 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:24:10,558 INFO L480 AbstractCegarLoop]: Abstraction has 25 states and 70 transitions. [2019-02-14 16:24:10,558 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-14 16:24:10,558 INFO L276 IsEmpty]: Start isEmpty. Operand 25 states and 70 transitions. [2019-02-14 16:24:10,559 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-02-14 16:24:10,559 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:24:10,559 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-02-14 16:24:10,559 INFO L423 AbstractCegarLoop]: === Iteration 10 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:24:10,559 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:24:10,560 INFO L82 PathProgramCache]: Analyzing trace with hash 943510, now seen corresponding path program 1 times [2019-02-14 16:24:10,560 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:24:10,561 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:24:10,561 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:24:10,561 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:24:10,561 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:24:10,568 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:10,665 INFO L273 TraceCheckUtils]: 0: Hoare triple {1411#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1413#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:24:10,666 INFO L273 TraceCheckUtils]: 1: Hoare triple {1413#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {1414#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:24:10,667 INFO L273 TraceCheckUtils]: 2: Hoare triple {1414#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {1414#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:24:10,667 INFO L273 TraceCheckUtils]: 3: Hoare triple {1414#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {1412#false} is VALID [2019-02-14 16:24:10,668 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:10,668 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:24:10,668 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:24:10,668 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-02-14 16:24:10,668 INFO L207 CegarAbsIntRunner]: [0], [20], [24], [25] [2019-02-14 16:24:10,669 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:24:10,669 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:24:10,706 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:24:10,706 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2019-02-14 16:24:10,706 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:24:10,707 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:24:10,707 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:24:10,707 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 9 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:24:10,717 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:24:10,717 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:24:10,723 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:10,727 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:10,727 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:24:10,749 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2019-02-14 16:24:10,755 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 [2019-02-14 16:24:10,770 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:10,771 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-14 16:24:10,808 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:10,810 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:10,811 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-14 16:24:10,830 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:10,835 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:10,836 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:10,838 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 [2019-02-14 16:24:10,842 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:10,867 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:10,879 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:10,890 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:10,901 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:10,921 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:10,922 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:28, output treesize:35 [2019-02-14 16:24:10,934 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:10,934 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_54|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_54| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:24:10,934 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:24:11,022 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:11,023 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:11,024 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:11,026 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:11,027 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:11,028 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:11,029 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:11,031 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 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 [2019-02-14 16:24:11,034 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:11,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. [2019-02-14 16:24:11,066 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2019-02-14 16:24:11,219 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:11,219 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_55|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_55| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_55| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (select |v_#memory_int_55| ULTIMATE.start_main_p3) 0) (= 0 (select |v_#memory_int_55| ULTIMATE.start_main_p4)) (= (store |v_#memory_int_55| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:24:11,219 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:24:11,266 INFO L273 TraceCheckUtils]: 0: Hoare triple {1411#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1418#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:24:11,269 INFO L273 TraceCheckUtils]: 1: Hoare triple {1418#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {1422#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-14 16:24:11,271 INFO L273 TraceCheckUtils]: 2: Hoare triple {1422#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {1422#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-14 16:24:11,272 INFO L273 TraceCheckUtils]: 3: Hoare triple {1422#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p2] <= 0); {1412#false} is VALID [2019-02-14 16:24:11,272 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:11,273 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:24:11,300 INFO L273 TraceCheckUtils]: 3: Hoare triple {1429#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {1412#false} is VALID [2019-02-14 16:24:11,301 INFO L273 TraceCheckUtils]: 2: Hoare triple {1429#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {1429#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:24:11,302 INFO L273 TraceCheckUtils]: 1: Hoare triple {1436#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {1429#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:24:11,304 INFO L273 TraceCheckUtils]: 0: Hoare triple {1411#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1436#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:24:11,304 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:11,326 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:24:11,326 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2019-02-14 16:24:11,326 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:24:11,327 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2019-02-14 16:24:11,327 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:24:11,327 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2019-02-14 16:24:11,363 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:24:11,363 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2019-02-14 16:24:11,364 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2019-02-14 16:24:11,364 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2019-02-14 16:24:11,364 INFO L87 Difference]: Start difference. First operand 25 states and 70 transitions. Second operand 6 states. [2019-02-14 16:24:11,877 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:11,877 INFO L93 Difference]: Finished difference Result 43 states and 96 transitions. [2019-02-14 16:24:11,877 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2019-02-14 16:24:11,878 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2019-02-14 16:24:11,878 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:24:11,878 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-14 16:24:11,879 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 49 transitions. [2019-02-14 16:24:11,879 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-14 16:24:11,880 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 49 transitions. [2019-02-14 16:24:11,880 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 49 transitions. [2019-02-14 16:24:11,987 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:24:11,988 INFO L225 Difference]: With dead ends: 43 [2019-02-14 16:24:11,988 INFO L226 Difference]: Without dead ends: 42 [2019-02-14 16:24:11,989 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2019-02-14 16:24:11,989 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2019-02-14 16:24:12,167 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 26. [2019-02-14 16:24:12,167 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:24:12,167 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand 26 states. [2019-02-14 16:24:12,168 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand 26 states. [2019-02-14 16:24:12,168 INFO L87 Difference]: Start difference. First operand 42 states. Second operand 26 states. [2019-02-14 16:24:12,169 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:12,170 INFO L93 Difference]: Finished difference Result 42 states and 94 transitions. [2019-02-14 16:24:12,170 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 94 transitions. [2019-02-14 16:24:12,170 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:24:12,170 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:24:12,170 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand 42 states. [2019-02-14 16:24:12,170 INFO L87 Difference]: Start difference. First operand 26 states. Second operand 42 states. [2019-02-14 16:24:12,171 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:12,171 INFO L93 Difference]: Finished difference Result 42 states and 94 transitions. [2019-02-14 16:24:12,172 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 94 transitions. [2019-02-14 16:24:12,172 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:24:12,172 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:24:12,172 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:24:12,172 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:24:12,172 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 26 states. [2019-02-14 16:24:12,173 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 76 transitions. [2019-02-14 16:24:12,173 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 76 transitions. Word has length 4 [2019-02-14 16:24:12,174 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:24:12,174 INFO L480 AbstractCegarLoop]: Abstraction has 26 states and 76 transitions. [2019-02-14 16:24:12,174 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2019-02-14 16:24:12,174 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 76 transitions. [2019-02-14 16:24:12,174 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-02-14 16:24:12,174 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:24:12,174 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-02-14 16:24:12,175 INFO L423 AbstractCegarLoop]: === Iteration 11 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:24:12,175 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:24:12,175 INFO L82 PathProgramCache]: Analyzing trace with hash 943074, now seen corresponding path program 1 times [2019-02-14 16:24:12,175 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:24:12,176 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:24:12,176 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:24:12,176 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:24:12,176 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:24:12,185 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:12,325 INFO L273 TraceCheckUtils]: 0: Hoare triple {1615#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1617#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:24:12,326 INFO L273 TraceCheckUtils]: 1: Hoare triple {1617#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {1618#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:24:12,328 INFO L273 TraceCheckUtils]: 2: Hoare triple {1618#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1619#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-14 16:24:12,328 INFO L273 TraceCheckUtils]: 3: Hoare triple {1619#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {1616#false} is VALID [2019-02-14 16:24:12,329 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:12,329 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:24:12,329 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:24:12,329 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-02-14 16:24:12,330 INFO L207 CegarAbsIntRunner]: [0], [10], [20], [23] [2019-02-14 16:24:12,332 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:24:12,332 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:24:12,348 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:24:12,348 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-14 16:24:12,348 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:24:12,348 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:24:12,348 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:24:12,348 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 10 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:24:12,357 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:24:12,357 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:24:12,362 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:12,366 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:12,366 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:24:12,398 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 [2019-02-14 16:24:12,406 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:12,407 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 [2019-02-14 16:24:12,425 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:12,427 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:12,428 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2019-02-14 16:24:12,469 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:12,470 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:12,471 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:12,472 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 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 [2019-02-14 16:24:12,493 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:12,495 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:12,496 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:12,500 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:12,501 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 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 [2019-02-14 16:24:12,515 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:12,544 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:12,561 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:12,574 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:12,586 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:12,610 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:12,611 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2019-02-14 16:24:12,629 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:12,629 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_57|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_57| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:24:12,629 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:24:12,691 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:12,693 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:12,694 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:12,695 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:12,696 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:12,697 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:12,699 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:12,700 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:12,701 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:12,702 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:12,704 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:12,707 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2019-02-14 16:24:12,709 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:12,757 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:12,758 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-14 16:24:14,762 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:14,762 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_58|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_58| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_58| ULTIMATE.start_main_p3) 0) (= 0 (select |v_#memory_int_58| ULTIMATE.start_main_p4)) (= (store |v_#memory_int_58| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_58| ULTIMATE.start_main_p1) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_58| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:24:14,762 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:24:14,858 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:14,860 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:14,861 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:14,863 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:14,864 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:14,865 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:14,867 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:14,868 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:14,870 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:14,871 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:14,872 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:14,874 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:14,875 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:14,877 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 86 [2019-02-14 16:24:14,881 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:14,942 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:14,942 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-14 16:24:15,007 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:15,007 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_59|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_59| ULTIMATE.start_main_p2))) (and (= 1 (select |v_#memory_int_59| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_59| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_59| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_59| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (= 0 (select |v_#memory_int_59| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:24:15,008 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:24:15,072 INFO L273 TraceCheckUtils]: 0: Hoare triple {1615#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1623#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:24:15,076 INFO L273 TraceCheckUtils]: 1: Hoare triple {1623#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {1627#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:24:15,079 INFO L273 TraceCheckUtils]: 2: Hoare triple {1627#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1631#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-02-14 16:24:15,080 INFO L273 TraceCheckUtils]: 3: Hoare triple {1631#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {1616#false} is VALID [2019-02-14 16:24:15,080 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:15,081 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:24:15,137 INFO L273 TraceCheckUtils]: 3: Hoare triple {1635#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1616#false} is VALID [2019-02-14 16:24:15,139 INFO L273 TraceCheckUtils]: 2: Hoare triple {1639#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {1635#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:24:15,140 INFO L273 TraceCheckUtils]: 1: Hoare triple {1643#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {1639#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:24:15,142 INFO L273 TraceCheckUtils]: 0: Hoare triple {1615#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1643#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:24:15,143 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:15,163 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:24:15,163 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-14 16:24:15,163 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:24:15,163 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-02-14 16:24:15,164 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:24:15,164 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-14 16:24:15,180 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:24:15,180 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-14 16:24:15,181 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-14 16:24:15,181 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2019-02-14 16:24:15,181 INFO L87 Difference]: Start difference. First operand 26 states and 76 transitions. Second operand 8 states. [2019-02-14 16:24:16,300 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:16,300 INFO L93 Difference]: Finished difference Result 56 states and 123 transitions. [2019-02-14 16:24:16,300 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-02-14 16:24:16,300 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-02-14 16:24:16,300 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:24:16,300 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:24:16,301 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 63 transitions. [2019-02-14 16:24:16,301 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:24:16,301 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 63 transitions. [2019-02-14 16:24:16,302 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 63 transitions. [2019-02-14 16:24:16,458 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:24:16,459 INFO L225 Difference]: With dead ends: 56 [2019-02-14 16:24:16,459 INFO L226 Difference]: Without dead ends: 55 [2019-02-14 16:24:16,460 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2019-02-14 16:24:16,460 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2019-02-14 16:24:16,588 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 28. [2019-02-14 16:24:16,588 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:24:16,588 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 28 states. [2019-02-14 16:24:16,589 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 28 states. [2019-02-14 16:24:16,589 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 28 states. [2019-02-14 16:24:16,591 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:16,591 INFO L93 Difference]: Finished difference Result 55 states and 121 transitions. [2019-02-14 16:24:16,591 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 121 transitions. [2019-02-14 16:24:16,591 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:24:16,591 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:24:16,592 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand 55 states. [2019-02-14 16:24:16,592 INFO L87 Difference]: Start difference. First operand 28 states. Second operand 55 states. [2019-02-14 16:24:16,593 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:16,593 INFO L93 Difference]: Finished difference Result 55 states and 121 transitions. [2019-02-14 16:24:16,593 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 121 transitions. [2019-02-14 16:24:16,594 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:24:16,594 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:24:16,594 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:24:16,594 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:24:16,594 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 28 states. [2019-02-14 16:24:16,595 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 88 transitions. [2019-02-14 16:24:16,595 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 88 transitions. Word has length 4 [2019-02-14 16:24:16,596 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:24:16,596 INFO L480 AbstractCegarLoop]: Abstraction has 28 states and 88 transitions. [2019-02-14 16:24:16,596 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-14 16:24:16,596 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 88 transitions. [2019-02-14 16:24:16,596 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-02-14 16:24:16,596 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:24:16,596 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-02-14 16:24:16,597 INFO L423 AbstractCegarLoop]: === Iteration 12 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:24:16,597 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:24:16,597 INFO L82 PathProgramCache]: Analyzing trace with hash 929868, now seen corresponding path program 2 times [2019-02-14 16:24:16,597 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:24:16,598 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:24:16,598 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:24:16,598 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:24:16,598 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:24:16,603 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:16,766 INFO L273 TraceCheckUtils]: 0: Hoare triple {1870#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1872#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2019-02-14 16:24:16,767 INFO L273 TraceCheckUtils]: 1: Hoare triple {1872#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {1873#(and (<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2019-02-14 16:24:16,768 INFO L273 TraceCheckUtils]: 2: Hoare triple {1873#(and (<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1874#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:24:16,773 INFO L273 TraceCheckUtils]: 3: Hoare triple {1874#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1871#false} is VALID [2019-02-14 16:24:16,774 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:16,774 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:24:16,774 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:24:16,774 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2019-02-14 16:24:16,774 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2019-02-14 16:24:16,774 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:24:16,774 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 11 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:24:16,784 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2019-02-14 16:24:16,784 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2019-02-14 16:24:16,790 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2019-02-14 16:24:16,790 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2019-02-14 16:24:16,795 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:16,796 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:24:16,847 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 [2019-02-14 16:24:16,853 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:16,854 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 [2019-02-14 16:24:16,868 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:16,869 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:16,870 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2019-02-14 16:24:16,886 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:16,887 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:16,889 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:16,890 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 [2019-02-14 16:24:16,909 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:16,910 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:16,912 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:16,913 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:16,914 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 [2019-02-14 16:24:16,922 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:16,952 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:16,969 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:16,982 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:16,993 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:17,016 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:17,016 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:31, output treesize:38 [2019-02-14 16:24:17,030 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:17,030 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_62|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_62| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:24:17,031 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:24:17,104 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:17,109 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:17,110 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:17,111 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:17,111 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:17,113 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:17,114 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:17,115 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:17,116 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:17,118 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:17,119 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:17,120 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2019-02-14 16:24:17,135 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:17,181 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:17,181 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-14 16:24:17,191 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:17,191 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_63|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_63| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_63| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_63| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (= (select |v_#memory_int_63| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_63| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_63| ULTIMATE.start_main_p5) 0))) [2019-02-14 16:24:17,192 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:24:17,258 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:17,259 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:17,260 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:17,261 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:17,263 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:17,264 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:17,265 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:17,266 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:17,268 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:17,284 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:17,285 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:17,285 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:17,286 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:17,288 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 78 [2019-02-14 16:24:17,300 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:17,347 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:17,347 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-14 16:24:19,353 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:19,354 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_64|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_64| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_64| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_64| ULTIMATE.start_main_p2) 0) (= .cse0 0) (= (select |v_#memory_int_64| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store |v_#memory_int_64| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_64| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:24:19,354 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:24:19,398 INFO L273 TraceCheckUtils]: 0: Hoare triple {1870#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1878#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-14 16:24:19,401 INFO L273 TraceCheckUtils]: 1: Hoare triple {1878#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {1882#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-14 16:24:19,404 INFO L273 TraceCheckUtils]: 2: Hoare triple {1882#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1886#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2019-02-14 16:24:19,405 INFO L273 TraceCheckUtils]: 3: Hoare triple {1886#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} assume !(#memory_int[main_p1] >= 0); {1871#false} is VALID [2019-02-14 16:24:19,406 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:19,406 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:24:19,434 INFO L273 TraceCheckUtils]: 3: Hoare triple {1874#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {1871#false} is VALID [2019-02-14 16:24:19,435 INFO L273 TraceCheckUtils]: 2: Hoare triple {1893#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {1874#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:24:19,437 INFO L273 TraceCheckUtils]: 1: Hoare triple {1897#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {1893#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:24:19,439 INFO L273 TraceCheckUtils]: 0: Hoare triple {1870#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {1897#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:24:19,439 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:19,460 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:24:19,460 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2019-02-14 16:24:19,460 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:24:19,461 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-02-14 16:24:19,461 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:24:19,461 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-14 16:24:19,475 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:24:19,475 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-14 16:24:19,475 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-14 16:24:19,475 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=51, Unknown=0, NotChecked=0, Total=90 [2019-02-14 16:24:19,475 INFO L87 Difference]: Start difference. First operand 28 states and 88 transitions. Second operand 8 states. [2019-02-14 16:24:20,685 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:20,685 INFO L93 Difference]: Finished difference Result 66 states and 142 transitions. [2019-02-14 16:24:20,685 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-02-14 16:24:20,686 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-02-14 16:24:20,686 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:24:20,686 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:24:20,687 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 76 transitions. [2019-02-14 16:24:20,687 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:24:20,687 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 76 transitions. [2019-02-14 16:24:20,688 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 76 transitions. [2019-02-14 16:24:20,859 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:24:20,861 INFO L225 Difference]: With dead ends: 66 [2019-02-14 16:24:20,861 INFO L226 Difference]: Without dead ends: 64 [2019-02-14 16:24:20,862 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=46, Invalid=64, Unknown=0, NotChecked=0, Total=110 [2019-02-14 16:24:20,862 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2019-02-14 16:24:21,015 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 32. [2019-02-14 16:24:21,015 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:24:21,016 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand 32 states. [2019-02-14 16:24:21,016 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand 32 states. [2019-02-14 16:24:21,016 INFO L87 Difference]: Start difference. First operand 64 states. Second operand 32 states. [2019-02-14 16:24:21,018 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:21,018 INFO L93 Difference]: Finished difference Result 64 states and 139 transitions. [2019-02-14 16:24:21,018 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 139 transitions. [2019-02-14 16:24:21,019 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:24:21,019 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:24:21,019 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand 64 states. [2019-02-14 16:24:21,019 INFO L87 Difference]: Start difference. First operand 32 states. Second operand 64 states. [2019-02-14 16:24:21,021 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:21,021 INFO L93 Difference]: Finished difference Result 64 states and 139 transitions. [2019-02-14 16:24:21,021 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 139 transitions. [2019-02-14 16:24:21,021 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:24:21,022 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:24:21,022 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:24:21,022 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:24:21,022 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 32 states. [2019-02-14 16:24:21,023 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 99 transitions. [2019-02-14 16:24:21,023 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 99 transitions. Word has length 4 [2019-02-14 16:24:21,023 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:24:21,023 INFO L480 AbstractCegarLoop]: Abstraction has 32 states and 99 transitions. [2019-02-14 16:24:21,023 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-14 16:24:21,024 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 99 transitions. [2019-02-14 16:24:21,024 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-02-14 16:24:21,024 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:24:21,024 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-02-14 16:24:21,024 INFO L423 AbstractCegarLoop]: === Iteration 13 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:24:21,025 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:24:21,025 INFO L82 PathProgramCache]: Analyzing trace with hash 930056, now seen corresponding path program 1 times [2019-02-14 16:24:21,025 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:24:21,026 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:24:21,026 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2019-02-14 16:24:21,026 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:24:21,026 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:24:21,032 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:21,117 INFO L273 TraceCheckUtils]: 0: Hoare triple {2157#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {2159#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:24:21,118 INFO L273 TraceCheckUtils]: 1: Hoare triple {2159#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2160#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:24:21,118 INFO L273 TraceCheckUtils]: 2: Hoare triple {2160#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {2160#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:24:21,119 INFO L273 TraceCheckUtils]: 3: Hoare triple {2160#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {2158#false} is VALID [2019-02-14 16:24:21,119 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:21,119 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:24:21,119 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:24:21,119 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-02-14 16:24:21,119 INFO L207 CegarAbsIntRunner]: [0], [6], [24], [25] [2019-02-14 16:24:21,120 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:24:21,120 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:24:21,132 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:24:21,132 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2019-02-14 16:24:21,133 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:24:21,133 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:24:21,133 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:24:21,133 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 12 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:24:21,142 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:24:21,142 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:24:21,147 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:21,150 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:21,151 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:24:21,193 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2019-02-14 16:24:21,212 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:21,213 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 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 [2019-02-14 16:24:21,250 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:21,252 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:21,252 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 [2019-02-14 16:24:21,266 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:21,267 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:21,269 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:21,270 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 [2019-02-14 16:24:21,286 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:21,288 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:21,289 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:21,291 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:21,292 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 [2019-02-14 16:24:21,295 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:21,324 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:21,340 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:21,353 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:21,365 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:21,388 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:21,389 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:31, output treesize:38 [2019-02-14 16:24:21,399 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:21,400 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_67|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_67| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:24:21,400 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:24:21,493 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:21,494 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:21,495 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:21,496 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:21,498 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:21,499 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:21,500 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:21,501 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:21,502 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:21,504 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:21,505 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:21,506 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2019-02-14 16:24:21,511 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:21,565 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:21,566 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-14 16:24:21,600 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:21,600 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_68|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_68| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_68| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_68| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_68| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_68| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_68| ULTIMATE.start_main_p4) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:24:21,601 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:24:21,664 INFO L273 TraceCheckUtils]: 0: Hoare triple {2157#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {2164#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:24:21,669 INFO L273 TraceCheckUtils]: 1: Hoare triple {2164#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2168#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:24:21,683 INFO L273 TraceCheckUtils]: 2: Hoare triple {2168#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {2168#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:24:21,684 INFO L273 TraceCheckUtils]: 3: Hoare triple {2168#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {2158#false} is VALID [2019-02-14 16:24:21,685 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:21,685 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:24:21,716 INFO L273 TraceCheckUtils]: 3: Hoare triple {2175#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {2158#false} is VALID [2019-02-14 16:24:21,716 INFO L273 TraceCheckUtils]: 2: Hoare triple {2175#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {2175#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:24:21,717 INFO L273 TraceCheckUtils]: 1: Hoare triple {2182#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2175#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:24:21,721 INFO L273 TraceCheckUtils]: 0: Hoare triple {2157#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {2182#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:24:21,721 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:21,740 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:24:21,740 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2019-02-14 16:24:21,740 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:24:21,740 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2019-02-14 16:24:21,740 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:24:21,740 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2019-02-14 16:24:21,755 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:24:21,756 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2019-02-14 16:24:21,756 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2019-02-14 16:24:21,756 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2019-02-14 16:24:21,756 INFO L87 Difference]: Start difference. First operand 32 states and 99 transitions. Second operand 6 states. [2019-02-14 16:24:22,152 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:22,153 INFO L93 Difference]: Finished difference Result 45 states and 113 transitions. [2019-02-14 16:24:22,153 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2019-02-14 16:24:22,153 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2019-02-14 16:24:22,153 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:24:22,153 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-14 16:24:22,154 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 48 transitions. [2019-02-14 16:24:22,154 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-14 16:24:22,155 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 48 transitions. [2019-02-14 16:24:22,155 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 48 transitions. [2019-02-14 16:24:22,229 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:24:22,230 INFO L225 Difference]: With dead ends: 45 [2019-02-14 16:24:22,230 INFO L226 Difference]: Without dead ends: 44 [2019-02-14 16:24:22,231 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2019-02-14 16:24:22,231 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2019-02-14 16:24:22,391 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 33. [2019-02-14 16:24:22,391 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:24:22,391 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand 33 states. [2019-02-14 16:24:22,391 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 33 states. [2019-02-14 16:24:22,391 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 33 states. [2019-02-14 16:24:22,393 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:22,393 INFO L93 Difference]: Finished difference Result 44 states and 111 transitions. [2019-02-14 16:24:22,393 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 111 transitions. [2019-02-14 16:24:22,394 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:24:22,394 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:24:22,394 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand 44 states. [2019-02-14 16:24:22,394 INFO L87 Difference]: Start difference. First operand 33 states. Second operand 44 states. [2019-02-14 16:24:22,395 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:22,395 INFO L93 Difference]: Finished difference Result 44 states and 111 transitions. [2019-02-14 16:24:22,395 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 111 transitions. [2019-02-14 16:24:22,395 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:24:22,395 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:24:22,395 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:24:22,396 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:24:22,396 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 33 states. [2019-02-14 16:24:22,396 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 104 transitions. [2019-02-14 16:24:22,396 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 104 transitions. Word has length 4 [2019-02-14 16:24:22,397 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:24:22,397 INFO L480 AbstractCegarLoop]: Abstraction has 33 states and 104 transitions. [2019-02-14 16:24:22,397 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2019-02-14 16:24:22,397 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 104 transitions. [2019-02-14 16:24:22,397 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-02-14 16:24:22,397 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:24:22,397 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-02-14 16:24:22,397 INFO L423 AbstractCegarLoop]: === Iteration 14 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:24:22,398 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:24:22,398 INFO L82 PathProgramCache]: Analyzing trace with hash 947418, now seen corresponding path program 1 times [2019-02-14 16:24:22,398 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:24:22,398 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:24:22,399 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:24:22,399 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:24:22,399 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:24:22,403 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:22,456 INFO L273 TraceCheckUtils]: 0: Hoare triple {2381#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {2383#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-14 16:24:22,457 INFO L273 TraceCheckUtils]: 1: Hoare triple {2383#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p1] >= 0; {2383#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-14 16:24:22,458 INFO L273 TraceCheckUtils]: 2: Hoare triple {2383#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p2] <= 0; {2383#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-14 16:24:22,458 INFO L273 TraceCheckUtils]: 3: Hoare triple {2383#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {2382#false} is VALID [2019-02-14 16:24:22,458 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:22,459 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2019-02-14 16:24:22,459 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2019-02-14 16:24:22,459 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-02-14 16:24:22,459 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 4 [2019-02-14 16:24:22,459 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:24:22,459 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2019-02-14 16:24:22,464 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 4 edges. 4 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:24:22,464 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2019-02-14 16:24:22,464 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2019-02-14 16:24:22,464 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2019-02-14 16:24:22,465 INFO L87 Difference]: Start difference. First operand 33 states and 104 transitions. Second operand 3 states. [2019-02-14 16:24:22,677 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:22,677 INFO L93 Difference]: Finished difference Result 34 states and 104 transitions. [2019-02-14 16:24:22,678 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2019-02-14 16:24:22,678 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 4 [2019-02-14 16:24:22,678 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:24:22,678 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-02-14 16:24:22,679 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 23 transitions. [2019-02-14 16:24:22,679 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-02-14 16:24:22,679 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 23 transitions. [2019-02-14 16:24:22,679 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 23 transitions. [2019-02-14 16:24:22,970 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:24:22,971 INFO L225 Difference]: With dead ends: 34 [2019-02-14 16:24:22,971 INFO L226 Difference]: Without dead ends: 31 [2019-02-14 16:24:22,971 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 1 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2019-02-14 16:24:22,972 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 31 states. [2019-02-14 16:24:23,408 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 31 to 31. [2019-02-14 16:24:23,409 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:24:23,409 INFO L82 GeneralOperation]: Start isEquivalent. First operand 31 states. Second operand 31 states. [2019-02-14 16:24:23,409 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 31 states. [2019-02-14 16:24:23,409 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 31 states. [2019-02-14 16:24:23,411 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:23,411 INFO L93 Difference]: Finished difference Result 31 states and 101 transitions. [2019-02-14 16:24:23,411 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 101 transitions. [2019-02-14 16:24:23,411 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:24:23,411 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:24:23,411 INFO L74 IsIncluded]: Start isIncluded. First operand 31 states. Second operand 31 states. [2019-02-14 16:24:23,411 INFO L87 Difference]: Start difference. First operand 31 states. Second operand 31 states. [2019-02-14 16:24:23,412 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:23,412 INFO L93 Difference]: Finished difference Result 31 states and 101 transitions. [2019-02-14 16:24:23,413 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 101 transitions. [2019-02-14 16:24:23,413 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:24:23,413 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:24:23,413 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:24:23,413 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:24:23,413 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 31 states. [2019-02-14 16:24:23,414 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 101 transitions. [2019-02-14 16:24:23,414 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 101 transitions. Word has length 4 [2019-02-14 16:24:23,415 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:24:23,415 INFO L480 AbstractCegarLoop]: Abstraction has 31 states and 101 transitions. [2019-02-14 16:24:23,415 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2019-02-14 16:24:23,415 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 101 transitions. [2019-02-14 16:24:23,415 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-02-14 16:24:23,415 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:24:23,415 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-02-14 16:24:23,416 INFO L423 AbstractCegarLoop]: === Iteration 15 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:24:23,416 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:24:23,416 INFO L82 PathProgramCache]: Analyzing trace with hash 933340, now seen corresponding path program 1 times [2019-02-14 16:24:23,416 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:24:23,417 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:24:23,417 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:24:23,417 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:24:23,417 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:24:23,422 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:23,543 INFO L273 TraceCheckUtils]: 0: Hoare triple {2541#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {2543#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:24:23,544 INFO L273 TraceCheckUtils]: 1: Hoare triple {2543#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {2544#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-14 16:24:23,545 INFO L273 TraceCheckUtils]: 2: Hoare triple {2544#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2545#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:24:23,546 INFO L273 TraceCheckUtils]: 3: Hoare triple {2545#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {2542#false} is VALID [2019-02-14 16:24:23,546 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:23,546 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:24:23,546 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:24:23,547 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-02-14 16:24:23,547 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [23] [2019-02-14 16:24:23,548 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:24:23,548 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:24:23,557 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:24:23,557 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-14 16:24:23,557 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:24:23,558 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:24:23,558 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:24:23,558 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 13 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:24:23,567 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:24:23,567 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:24:23,572 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:23,577 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:23,577 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:24:23,608 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 [2019-02-14 16:24:23,617 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:23,618 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 [2019-02-14 16:24:23,630 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:23,631 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:23,632 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 [2019-02-14 16:24:23,646 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:23,648 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:23,649 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:23,650 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 [2019-02-14 16:24:23,670 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:23,672 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:23,673 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:23,674 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:23,676 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 [2019-02-14 16:24:23,680 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:23,709 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:23,726 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:23,739 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:23,751 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:23,776 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:23,776 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:31, output treesize:38 [2019-02-14 16:24:23,787 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:23,787 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_70|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_70| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:24:23,788 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:24:23,846 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:23,847 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:23,848 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:23,849 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:23,851 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:23,852 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:23,853 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:23,854 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:23,856 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:23,857 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:23,858 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:23,859 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2019-02-14 16:24:23,866 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:23,925 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:23,925 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-14 16:24:25,933 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:25,934 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_71|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_71| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_71| ULTIMATE.start_main_p4) 0) (= 0 (select |v_#memory_int_71| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_71| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_71| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |v_#memory_int_71| ULTIMATE.start_main_p1)) (= 0 .cse0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:24:25,934 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:24:26,037 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:26,038 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:26,039 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:26,041 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:26,042 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:26,043 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:26,044 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:26,046 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:26,047 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:26,048 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:26,049 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:26,050 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:26,051 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:26,053 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 88 [2019-02-14 16:24:26,056 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:26,114 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:26,115 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-14 16:24:26,135 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:26,135 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_72|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_72| ULTIMATE.start_main_p1))) (and (= (store |v_#memory_int_72| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_72| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_72| ULTIMATE.start_main_p4)) (= (select |v_#memory_int_72| ULTIMATE.start_main_p5) 0) (= (+ (select |v_#memory_int_72| ULTIMATE.start_main_p2) 1) 0) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:24:26,135 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-14 16:24:26,186 INFO L273 TraceCheckUtils]: 0: Hoare triple {2541#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {2549#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:24:26,190 INFO L273 TraceCheckUtils]: 1: Hoare triple {2549#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {2553#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-02-14 16:24:26,200 INFO L273 TraceCheckUtils]: 2: Hoare triple {2553#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2557#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-02-14 16:24:26,201 INFO L273 TraceCheckUtils]: 3: Hoare triple {2557#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {2542#false} is VALID [2019-02-14 16:24:26,202 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:26,202 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:24:26,228 INFO L273 TraceCheckUtils]: 3: Hoare triple {2545#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {2542#false} is VALID [2019-02-14 16:24:26,229 INFO L273 TraceCheckUtils]: 2: Hoare triple {2564#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {2545#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:24:26,230 INFO L273 TraceCheckUtils]: 1: Hoare triple {2568#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {2564#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2019-02-14 16:24:26,232 INFO L273 TraceCheckUtils]: 0: Hoare triple {2541#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {2568#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2019-02-14 16:24:26,232 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:26,253 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:24:26,253 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2019-02-14 16:24:26,253 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:24:26,253 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-02-14 16:24:26,253 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:24:26,254 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-14 16:24:26,272 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:24:26,273 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-14 16:24:26,273 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-14 16:24:26,273 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=51, Unknown=0, NotChecked=0, Total=90 [2019-02-14 16:24:26,273 INFO L87 Difference]: Start difference. First operand 31 states and 101 transitions. Second operand 8 states. [2019-02-14 16:24:27,036 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:27,036 INFO L93 Difference]: Finished difference Result 59 states and 152 transitions. [2019-02-14 16:24:27,036 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-14 16:24:27,036 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-02-14 16:24:27,037 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:24:27,037 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:24:27,037 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2019-02-14 16:24:27,037 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:24:27,038 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2019-02-14 16:24:27,038 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 65 transitions. [2019-02-14 16:24:27,243 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:24:27,244 INFO L225 Difference]: With dead ends: 59 [2019-02-14 16:24:27,244 INFO L226 Difference]: Without dead ends: 58 [2019-02-14 16:24:27,245 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 [2019-02-14 16:24:27,245 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2019-02-14 16:24:27,420 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 34. [2019-02-14 16:24:27,421 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:24:27,421 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand 34 states. [2019-02-14 16:24:27,421 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 34 states. [2019-02-14 16:24:27,421 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 34 states. [2019-02-14 16:24:27,423 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:27,423 INFO L93 Difference]: Finished difference Result 58 states and 150 transitions. [2019-02-14 16:24:27,423 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 150 transitions. [2019-02-14 16:24:27,423 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:24:27,423 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:24:27,423 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand 58 states. [2019-02-14 16:24:27,423 INFO L87 Difference]: Start difference. First operand 34 states. Second operand 58 states. [2019-02-14 16:24:27,425 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:27,425 INFO L93 Difference]: Finished difference Result 58 states and 150 transitions. [2019-02-14 16:24:27,425 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 150 transitions. [2019-02-14 16:24:27,425 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:24:27,425 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:24:27,426 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:24:27,426 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:24:27,426 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 34 states. [2019-02-14 16:24:27,427 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 119 transitions. [2019-02-14 16:24:27,427 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 119 transitions. Word has length 4 [2019-02-14 16:24:27,427 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:24:27,427 INFO L480 AbstractCegarLoop]: Abstraction has 34 states and 119 transitions. [2019-02-14 16:24:27,427 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-14 16:24:27,427 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 119 transitions. [2019-02-14 16:24:27,428 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-02-14 16:24:27,428 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:24:27,428 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-02-14 16:24:27,428 INFO L423 AbstractCegarLoop]: === Iteration 16 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:24:27,428 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:24:27,428 INFO L82 PathProgramCache]: Analyzing trace with hash 937744, now seen corresponding path program 1 times [2019-02-14 16:24:27,429 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:24:27,429 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:24:27,429 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:24:27,430 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:24:27,430 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:24:27,434 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:27,501 INFO L273 TraceCheckUtils]: 0: Hoare triple {2818#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {2820#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:24:27,502 INFO L273 TraceCheckUtils]: 1: Hoare triple {2820#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {2821#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:24:27,503 INFO L273 TraceCheckUtils]: 2: Hoare triple {2821#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {2821#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:24:27,503 INFO L273 TraceCheckUtils]: 3: Hoare triple {2821#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {2819#false} is VALID [2019-02-14 16:24:27,503 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:27,504 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:24:27,504 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:24:27,504 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-02-14 16:24:27,504 INFO L207 CegarAbsIntRunner]: [0], [14], [24], [25] [2019-02-14 16:24:27,506 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:24:27,506 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:24:27,523 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:24:27,523 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2019-02-14 16:24:27,523 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:24:27,523 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:24:27,524 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:24:27,524 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 14 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:24:27,534 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:24:27,534 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:24:27,538 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:27,543 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:27,543 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:24:27,576 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 [2019-02-14 16:24:27,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, 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 [2019-02-14 16:24:27,593 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:27,594 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-14 16:24:27,609 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:27,610 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:27,611 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-14 16:24:27,627 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:27,632 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:27,633 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:27,634 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 [2019-02-14 16:24:27,640 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:27,660 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:27,674 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:27,685 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:27,697 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:27,719 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:27,720 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:28, output treesize:35 [2019-02-14 16:24:27,728 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:27,728 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_75|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_75| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:24:27,728 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:24:27,784 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:27,785 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:27,787 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:27,788 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:27,789 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:27,790 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:27,791 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:27,792 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 7 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 31 treesize of output 51 [2019-02-14 16:24:27,795 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:27,827 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:27,828 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2019-02-14 16:24:27,842 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:27,843 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_76|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_76| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_76| ULTIMATE.start_main_p4)) (= (store |v_#memory_int_76| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_76| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_76| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:24:27,843 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:24:27,889 INFO L273 TraceCheckUtils]: 0: Hoare triple {2818#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {2825#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:24:27,892 INFO L273 TraceCheckUtils]: 1: Hoare triple {2825#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {2829#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:24:27,893 INFO L273 TraceCheckUtils]: 2: Hoare triple {2829#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {2829#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:24:27,894 INFO L273 TraceCheckUtils]: 3: Hoare triple {2829#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {2819#false} is VALID [2019-02-14 16:24:27,894 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:27,894 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:24:27,917 INFO L273 TraceCheckUtils]: 3: Hoare triple {2836#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {2819#false} is VALID [2019-02-14 16:24:27,918 INFO L273 TraceCheckUtils]: 2: Hoare triple {2836#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {2836#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:24:27,919 INFO L273 TraceCheckUtils]: 1: Hoare triple {2843#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {2836#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:24:27,921 INFO L273 TraceCheckUtils]: 0: Hoare triple {2818#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {2843#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:24:27,921 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:27,942 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:24:27,942 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2019-02-14 16:24:27,942 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:24:27,942 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2019-02-14 16:24:27,942 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:24:27,942 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2019-02-14 16:24:27,955 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:24:27,955 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2019-02-14 16:24:27,955 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2019-02-14 16:24:27,955 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2019-02-14 16:24:27,956 INFO L87 Difference]: Start difference. First operand 34 states and 119 transitions. Second operand 6 states. [2019-02-14 16:24:29,375 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:29,375 INFO L93 Difference]: Finished difference Result 51 states and 145 transitions. [2019-02-14 16:24:29,375 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2019-02-14 16:24:29,375 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 4 [2019-02-14 16:24:29,376 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:24:29,376 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-14 16:24:29,376 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2019-02-14 16:24:29,377 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-14 16:24:29,377 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 46 transitions. [2019-02-14 16:24:29,377 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 46 transitions. [2019-02-14 16:24:29,443 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:24:29,444 INFO L225 Difference]: With dead ends: 51 [2019-02-14 16:24:29,444 INFO L226 Difference]: Without dead ends: 50 [2019-02-14 16:24:29,445 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2019-02-14 16:24:29,445 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2019-02-14 16:24:29,669 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 35. [2019-02-14 16:24:29,670 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:24:29,670 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand 35 states. [2019-02-14 16:24:29,670 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand 35 states. [2019-02-14 16:24:29,670 INFO L87 Difference]: Start difference. First operand 50 states. Second operand 35 states. [2019-02-14 16:24:29,672 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:29,672 INFO L93 Difference]: Finished difference Result 50 states and 143 transitions. [2019-02-14 16:24:29,672 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 143 transitions. [2019-02-14 16:24:29,673 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:24:29,673 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:24:29,673 INFO L74 IsIncluded]: Start isIncluded. First operand 35 states. Second operand 50 states. [2019-02-14 16:24:29,673 INFO L87 Difference]: Start difference. First operand 35 states. Second operand 50 states. [2019-02-14 16:24:29,674 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:29,675 INFO L93 Difference]: Finished difference Result 50 states and 143 transitions. [2019-02-14 16:24:29,675 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 143 transitions. [2019-02-14 16:24:29,675 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:24:29,675 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:24:29,675 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:24:29,675 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:24:29,676 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 35 states. [2019-02-14 16:24:29,677 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 125 transitions. [2019-02-14 16:24:29,677 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 125 transitions. Word has length 4 [2019-02-14 16:24:29,677 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:24:29,677 INFO L480 AbstractCegarLoop]: Abstraction has 35 states and 125 transitions. [2019-02-14 16:24:29,677 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2019-02-14 16:24:29,677 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 125 transitions. [2019-02-14 16:24:29,678 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-02-14 16:24:29,678 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:24:29,678 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-02-14 16:24:29,678 INFO L423 AbstractCegarLoop]: === Iteration 17 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:24:29,678 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:24:29,678 INFO L82 PathProgramCache]: Analyzing trace with hash 937308, now seen corresponding path program 1 times [2019-02-14 16:24:29,679 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:24:29,679 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:24:29,679 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:24:29,679 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:24:29,679 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:24:29,684 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:29,833 INFO L273 TraceCheckUtils]: 0: Hoare triple {3071#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {3073#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:24:29,835 INFO L273 TraceCheckUtils]: 1: Hoare triple {3073#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {3074#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:24:29,836 INFO L273 TraceCheckUtils]: 2: Hoare triple {3074#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3075#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-14 16:24:29,836 INFO L273 TraceCheckUtils]: 3: Hoare triple {3075#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {3072#false} is VALID [2019-02-14 16:24:29,836 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:29,837 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:24:29,837 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:24:29,837 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-02-14 16:24:29,837 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [23] [2019-02-14 16:24:29,838 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:24:29,838 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:24:29,870 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:24:29,870 INFO L272 AbstractInterpreter]: Visited 4 different actions 4 times. Never merged. Never widened. Performed 64 root evaluator evaluations with a maximum evaluation depth of 3. Performed 64 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-14 16:24:29,870 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:24:29,871 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:24:29,871 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:24:29,871 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 15 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 15 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:24:29,882 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:24:29,882 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:24:29,891 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:29,897 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:29,897 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:24:29,937 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 [2019-02-14 16:24:29,951 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:29,952 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 [2019-02-14 16:24:29,979 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:29,980 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:29,981 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 [2019-02-14 16:24:30,030 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:30,041 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:30,045 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:30,046 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 [2019-02-14 16:24:30,089 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:30,091 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:30,095 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:30,097 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:30,097 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 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 [2019-02-14 16:24:30,100 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:30,130 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:30,145 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:30,159 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:30,171 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:30,194 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:30,194 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2019-02-14 16:24:30,201 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:30,202 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_78|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_78| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:24:30,202 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:24:30,292 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:30,293 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:30,294 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:30,294 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:30,295 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:30,296 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:30,297 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:30,298 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:30,299 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:30,300 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:30,301 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:30,303 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2019-02-14 16:24:30,337 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:30,389 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:30,389 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-14 16:24:30,447 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:30,448 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_79|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_79| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_79| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_79| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_79| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_79| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_79| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:24:30,448 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:24:30,512 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:30,513 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:30,514 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:30,514 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:30,515 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:30,516 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:30,518 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:30,519 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:30,520 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:30,521 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:30,522 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:30,523 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:30,524 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:30,526 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 86 [2019-02-14 16:24:30,529 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:31,002 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:31,003 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-14 16:24:33,096 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:33,096 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_80|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_80| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_80| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_80| ULTIMATE.start_main_p5)) (= 0 .cse0) (= (store |v_#memory_int_80| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 1 (select |v_#memory_int_80| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_80| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:24:33,096 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:24:33,185 INFO L273 TraceCheckUtils]: 0: Hoare triple {3071#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {3079#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:24:33,188 INFO L273 TraceCheckUtils]: 1: Hoare triple {3079#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {3083#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:24:33,192 INFO L273 TraceCheckUtils]: 2: Hoare triple {3083#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3087#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-02-14 16:24:33,193 INFO L273 TraceCheckUtils]: 3: Hoare triple {3087#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {3072#false} is VALID [2019-02-14 16:24:33,193 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:33,193 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:24:33,233 INFO L273 TraceCheckUtils]: 3: Hoare triple {3091#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {3072#false} is VALID [2019-02-14 16:24:33,235 INFO L273 TraceCheckUtils]: 2: Hoare triple {3095#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3091#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:24:33,236 INFO L273 TraceCheckUtils]: 1: Hoare triple {3099#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {3095#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:24:33,238 INFO L273 TraceCheckUtils]: 0: Hoare triple {3071#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {3099#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:24:33,239 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:33,259 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:24:33,259 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-14 16:24:33,259 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:24:33,259 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-02-14 16:24:33,259 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:24:33,259 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-14 16:24:33,274 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:24:33,274 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-14 16:24:33,274 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-14 16:24:33,274 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2019-02-14 16:24:33,274 INFO L87 Difference]: Start difference. First operand 35 states and 125 transitions. Second operand 8 states. [2019-02-14 16:24:34,421 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:34,422 INFO L93 Difference]: Finished difference Result 64 states and 172 transitions. [2019-02-14 16:24:34,422 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-02-14 16:24:34,422 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 4 [2019-02-14 16:24:34,422 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:24:34,422 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:24:34,423 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 60 transitions. [2019-02-14 16:24:34,423 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:24:34,423 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 60 transitions. [2019-02-14 16:24:34,423 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 60 transitions. [2019-02-14 16:24:34,574 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:24:34,576 INFO L225 Difference]: With dead ends: 64 [2019-02-14 16:24:34,576 INFO L226 Difference]: Without dead ends: 63 [2019-02-14 16:24:34,577 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2019-02-14 16:24:34,577 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2019-02-14 16:24:34,906 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 37. [2019-02-14 16:24:34,906 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:24:34,906 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand 37 states. [2019-02-14 16:24:34,906 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand 37 states. [2019-02-14 16:24:34,907 INFO L87 Difference]: Start difference. First operand 63 states. Second operand 37 states. [2019-02-14 16:24:34,909 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:34,909 INFO L93 Difference]: Finished difference Result 63 states and 170 transitions. [2019-02-14 16:24:34,909 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 170 transitions. [2019-02-14 16:24:34,909 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:24:34,909 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:24:34,909 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 63 states. [2019-02-14 16:24:34,909 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 63 states. [2019-02-14 16:24:34,911 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:34,911 INFO L93 Difference]: Finished difference Result 63 states and 170 transitions. [2019-02-14 16:24:34,911 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 170 transitions. [2019-02-14 16:24:34,912 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:24:34,912 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:24:34,912 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:24:34,912 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:24:34,912 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2019-02-14 16:24:34,913 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 137 transitions. [2019-02-14 16:24:34,914 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 137 transitions. Word has length 4 [2019-02-14 16:24:34,914 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:24:34,914 INFO L480 AbstractCegarLoop]: Abstraction has 37 states and 137 transitions. [2019-02-14 16:24:34,914 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-14 16:24:34,914 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 137 transitions. [2019-02-14 16:24:34,914 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-14 16:24:34,914 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:24:34,915 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-14 16:24:34,915 INFO L423 AbstractCegarLoop]: === Iteration 18 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:24:34,915 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:24:34,915 INFO L82 PathProgramCache]: Analyzing trace with hash 29185378, now seen corresponding path program 1 times [2019-02-14 16:24:34,915 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:24:34,916 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:24:34,916 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:24:34,916 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:24:34,916 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:24:34,923 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:35,321 WARN L181 SmtUtils]: Spent 123.00 ms on a formula simplification. DAG size of input: 28 DAG size of output: 17 [2019-02-14 16:24:35,367 INFO L273 TraceCheckUtils]: 0: Hoare triple {3375#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {3377#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2019-02-14 16:24:35,368 INFO L273 TraceCheckUtils]: 1: Hoare triple {3377#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {3378#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:24:35,369 INFO L273 TraceCheckUtils]: 2: Hoare triple {3378#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {3379#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:24:35,370 INFO L273 TraceCheckUtils]: 3: Hoare triple {3379#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {3379#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:24:35,371 INFO L273 TraceCheckUtils]: 4: Hoare triple {3379#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {3376#false} is VALID [2019-02-14 16:24:35,371 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:35,372 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:24:35,372 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:24:35,372 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-02-14 16:24:35,373 INFO L207 CegarAbsIntRunner]: [0], [18], [20], [24], [25] [2019-02-14 16:24:35,374 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:24:35,374 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:24:35,407 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:24:35,407 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-14 16:24:35,408 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:24:35,408 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:24:35,408 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:24:35,408 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 16 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 16 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:24:35,422 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:24:35,422 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:24:35,428 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:35,431 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:35,432 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:24:35,453 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 [2019-02-14 16:24:35,459 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 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 [2019-02-14 16:24:35,469 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:35,470 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-14 16:24:35,484 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:35,485 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:35,486 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-14 16:24:35,502 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:35,507 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:35,508 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:35,509 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 [2019-02-14 16:24:35,519 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:35,542 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:35,555 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:35,567 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:35,578 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:35,597 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:35,598 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:28, output treesize:35 [2019-02-14 16:24:35,605 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:35,605 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_83|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3]. (and (= (store (store (store (store (store |v_#memory_int_83| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:24:35,605 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:24:35,669 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:35,670 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:35,671 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:35,673 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:35,674 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:35,675 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:35,710 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:35,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, 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 [2019-02-14 16:24:35,731 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:35,760 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:35,760 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-02-14 16:24:37,781 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:37,781 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_84|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_84| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_84| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_84| ULTIMATE.start_main_p3) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store |v_#memory_int_84| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_84| ULTIMATE.start_main_p5)))) [2019-02-14 16:24:37,781 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:24:37,836 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:37,838 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:37,839 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:37,840 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:37,841 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:37,843 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:37,844 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:37,845 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:37,846 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:37,847 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 [2019-02-14 16:24:37,850 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:37,885 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:37,885 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2019-02-14 16:24:38,008 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:38,008 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_85|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_85| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_85| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_85| ULTIMATE.start_main_p3) 0) (= .cse0 0) (= 0 (+ (select |v_#memory_int_85| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_85| ULTIMATE.start_main_p2) 0))) [2019-02-14 16:24:38,009 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:24:38,051 INFO L273 TraceCheckUtils]: 0: Hoare triple {3375#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {3383#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-14 16:24:38,054 INFO L273 TraceCheckUtils]: 1: Hoare triple {3383#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {3387#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-02-14 16:24:38,056 INFO L273 TraceCheckUtils]: 2: Hoare triple {3387#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {3391#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:24:38,057 INFO L273 TraceCheckUtils]: 3: Hoare triple {3391#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {3391#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:24:38,058 INFO L273 TraceCheckUtils]: 4: Hoare triple {3391#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {3376#false} is VALID [2019-02-14 16:24:38,059 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:38,059 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:24:38,102 INFO L273 TraceCheckUtils]: 4: Hoare triple {3398#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {3376#false} is VALID [2019-02-14 16:24:38,103 INFO L273 TraceCheckUtils]: 3: Hoare triple {3398#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {3398#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:24:38,104 INFO L273 TraceCheckUtils]: 2: Hoare triple {3405#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {3398#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:24:38,106 INFO L273 TraceCheckUtils]: 1: Hoare triple {3409#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {3405#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:24:38,108 INFO L273 TraceCheckUtils]: 0: Hoare triple {3375#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {3409#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:24:38,108 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:38,128 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:24:38,128 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-14 16:24:38,128 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:24:38,128 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-14 16:24:38,129 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:24:38,129 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-14 16:24:38,145 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:24:38,146 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-14 16:24:38,146 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-14 16:24:38,146 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2019-02-14 16:24:38,146 INFO L87 Difference]: Start difference. First operand 37 states and 137 transitions. Second operand 8 states. [2019-02-14 16:24:39,012 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:39,012 INFO L93 Difference]: Finished difference Result 57 states and 164 transitions. [2019-02-14 16:24:39,013 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-02-14 16:24:39,013 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-14 16:24:39,013 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:24:39,013 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:24:39,014 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2019-02-14 16:24:39,014 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:24:39,014 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2019-02-14 16:24:39,014 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 56 transitions. [2019-02-14 16:24:39,099 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:24:39,101 INFO L225 Difference]: With dead ends: 57 [2019-02-14 16:24:39,101 INFO L226 Difference]: Without dead ends: 56 [2019-02-14 16:24:39,101 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2019-02-14 16:24:39,101 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2019-02-14 16:24:39,470 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 38. [2019-02-14 16:24:39,470 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:24:39,471 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand 38 states. [2019-02-14 16:24:39,471 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand 38 states. [2019-02-14 16:24:39,471 INFO L87 Difference]: Start difference. First operand 56 states. Second operand 38 states. [2019-02-14 16:24:39,473 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:39,473 INFO L93 Difference]: Finished difference Result 56 states and 162 transitions. [2019-02-14 16:24:39,473 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 162 transitions. [2019-02-14 16:24:39,474 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:24:39,474 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:24:39,474 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 56 states. [2019-02-14 16:24:39,474 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 56 states. [2019-02-14 16:24:39,476 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:39,477 INFO L93 Difference]: Finished difference Result 56 states and 162 transitions. [2019-02-14 16:24:39,477 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 162 transitions. [2019-02-14 16:24:39,477 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:24:39,477 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:24:39,477 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:24:39,478 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:24:39,478 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 38 states. [2019-02-14 16:24:39,479 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 143 transitions. [2019-02-14 16:24:39,479 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 143 transitions. Word has length 5 [2019-02-14 16:24:39,480 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:24:39,480 INFO L480 AbstractCegarLoop]: Abstraction has 38 states and 143 transitions. [2019-02-14 16:24:39,480 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-14 16:24:39,480 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 143 transitions. [2019-02-14 16:24:39,480 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-14 16:24:39,480 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:24:39,481 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-14 16:24:39,481 INFO L423 AbstractCegarLoop]: === Iteration 19 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:24:39,481 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:24:39,481 INFO L82 PathProgramCache]: Analyzing trace with hash 29184942, now seen corresponding path program 1 times [2019-02-14 16:24:39,482 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:24:39,482 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:24:39,482 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:24:39,483 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:24:39,483 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:24:39,489 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:39,815 INFO L273 TraceCheckUtils]: 0: Hoare triple {3666#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {3668#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2019-02-14 16:24:39,817 INFO L273 TraceCheckUtils]: 1: Hoare triple {3668#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {3669#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:24:39,818 INFO L273 TraceCheckUtils]: 2: Hoare triple {3669#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {3670#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:24:39,819 INFO L273 TraceCheckUtils]: 3: Hoare triple {3670#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3671#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-14 16:24:39,820 INFO L273 TraceCheckUtils]: 4: Hoare triple {3671#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {3667#false} is VALID [2019-02-14 16:24:39,820 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:39,821 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:24:39,821 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:24:39,821 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-02-14 16:24:39,821 INFO L207 CegarAbsIntRunner]: [0], [10], [18], [20], [23] [2019-02-14 16:24:39,823 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:24:39,823 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:24:39,836 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:24:39,836 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-14 16:24:39,836 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:24:39,836 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:24:39,836 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:24:39,836 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 17 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 17 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:24:39,845 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:24:39,846 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:24:39,850 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:39,854 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:39,854 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:24:39,916 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 [2019-02-14 16:24:39,931 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:39,931 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 [2019-02-14 16:24:39,941 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:39,942 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:39,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, 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 [2019-02-14 16:24:39,964 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:39,965 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:39,966 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:39,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, 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 [2019-02-14 16:24:39,986 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:39,987 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:39,988 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:39,989 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:39,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, 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 [2019-02-14 16:24:40,002 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:40,032 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:40,050 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:40,064 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:40,077 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:40,103 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. [2019-02-14 16:24:40,103 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-14 16:24:40,112 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:40,113 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_88|, ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_88| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:24:40,113 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:24:40,219 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:40,221 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:40,223 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:40,227 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:40,229 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:40,231 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:40,233 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:40,236 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:40,239 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:40,242 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:40,245 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:40,246 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2019-02-14 16:24:40,256 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:40,318 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:40,318 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-14 16:24:41,549 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:41,550 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_89|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_89| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_89| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_89| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_89| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= (select |v_#memory_int_89| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_89| ULTIMATE.start_main_p1) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:24:41,550 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:24:41,636 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:41,638 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:41,639 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:41,641 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:41,642 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:41,643 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:41,645 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:41,646 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:41,647 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:41,649 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:41,650 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:41,651 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:41,653 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:41,654 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 80 [2019-02-14 16:24:41,661 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:41,711 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:41,711 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-14 16:24:41,727 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:41,727 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_90|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_90| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_90| ULTIMATE.start_main_p5 (+ .cse0 1))) (= 0 (+ (select |v_#memory_int_90| ULTIMATE.start_main_p4) 1)) (= 0 .cse0) (= (select |v_#memory_int_90| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_90| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_90| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:24:41,727 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:24:41,792 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:41,793 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:41,795 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:41,796 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:41,797 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:41,798 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:41,800 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:41,801 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:41,802 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:41,803 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:41,804 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:41,806 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:41,806 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:24:41,807 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:41,809 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 97 [2019-02-14 16:24:41,813 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:41,866 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:41,867 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2019-02-14 16:24:41,993 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:41,993 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_91|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_91| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_91| ULTIMATE.start_main_p5) 1) (= (select |v_#memory_int_91| ULTIMATE.start_main_p3) 0) (= (+ (select |v_#memory_int_91| ULTIMATE.start_main_p4) 1) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (store |v_#memory_int_91| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_91| ULTIMATE.start_main_p1) 0))) [2019-02-14 16:24:41,993 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:24:42,068 INFO L273 TraceCheckUtils]: 0: Hoare triple {3666#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {3675#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:24:42,071 INFO L273 TraceCheckUtils]: 1: Hoare triple {3675#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {3679#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-02-14 16:24:42,074 INFO L273 TraceCheckUtils]: 2: Hoare triple {3679#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {3683#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:24:42,080 INFO L273 TraceCheckUtils]: 3: Hoare triple {3683#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3687#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-02-14 16:24:42,085 INFO L273 TraceCheckUtils]: 4: Hoare triple {3687#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {3667#false} is VALID [2019-02-14 16:24:42,086 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:42,086 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:24:42,155 INFO L273 TraceCheckUtils]: 4: Hoare triple {3691#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {3667#false} is VALID [2019-02-14 16:24:42,156 INFO L273 TraceCheckUtils]: 3: Hoare triple {3695#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {3691#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:24:42,157 INFO L273 TraceCheckUtils]: 2: Hoare triple {3699#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {3695#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:24:42,160 INFO L273 TraceCheckUtils]: 1: Hoare triple {3703#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {3699#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:24:42,162 INFO L273 TraceCheckUtils]: 0: Hoare triple {3666#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {3703#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:24:42,163 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:42,183 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:24:42,183 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2019-02-14 16:24:42,184 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:24:42,184 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-02-14 16:24:42,184 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:24:42,184 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-14 16:24:42,203 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:24:42,203 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-14 16:24:42,203 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-14 16:24:42,204 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=116, Unknown=0, NotChecked=0, Total=182 [2019-02-14 16:24:42,204 INFO L87 Difference]: Start difference. First operand 38 states and 143 transitions. Second operand 10 states. [2019-02-14 16:24:44,526 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:44,526 INFO L93 Difference]: Finished difference Result 68 states and 184 transitions. [2019-02-14 16:24:44,526 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-14 16:24:44,526 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-02-14 16:24:44,526 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:24:44,527 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:24:44,527 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 70 transitions. [2019-02-14 16:24:44,528 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:24:44,528 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 70 transitions. [2019-02-14 16:24:44,528 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 70 transitions. [2019-02-14 16:24:44,703 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:24:44,705 INFO L225 Difference]: With dead ends: 68 [2019-02-14 16:24:44,705 INFO L226 Difference]: Without dead ends: 67 [2019-02-14 16:24:44,706 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=99, Invalid=173, Unknown=0, NotChecked=0, Total=272 [2019-02-14 16:24:44,706 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2019-02-14 16:24:44,946 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 37. [2019-02-14 16:24:44,947 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:24:44,947 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand 37 states. [2019-02-14 16:24:44,947 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand 37 states. [2019-02-14 16:24:44,947 INFO L87 Difference]: Start difference. First operand 67 states. Second operand 37 states. [2019-02-14 16:24:44,949 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:44,950 INFO L93 Difference]: Finished difference Result 67 states and 182 transitions. [2019-02-14 16:24:44,950 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 182 transitions. [2019-02-14 16:24:44,950 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:24:44,950 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:24:44,950 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 67 states. [2019-02-14 16:24:44,951 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 67 states. [2019-02-14 16:24:44,952 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:44,952 INFO L93 Difference]: Finished difference Result 67 states and 182 transitions. [2019-02-14 16:24:44,953 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 182 transitions. [2019-02-14 16:24:44,953 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:24:44,953 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:24:44,953 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:24:44,953 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:24:44,953 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2019-02-14 16:24:44,955 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 137 transitions. [2019-02-14 16:24:44,955 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 137 transitions. Word has length 5 [2019-02-14 16:24:44,955 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:24:44,955 INFO L480 AbstractCegarLoop]: Abstraction has 37 states and 137 transitions. [2019-02-14 16:24:44,955 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-14 16:24:44,955 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 137 transitions. [2019-02-14 16:24:44,956 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-14 16:24:44,956 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:24:44,956 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-14 16:24:44,956 INFO L423 AbstractCegarLoop]: === Iteration 20 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:24:44,956 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:24:44,956 INFO L82 PathProgramCache]: Analyzing trace with hash 29171924, now seen corresponding path program 1 times [2019-02-14 16:24:44,957 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:24:44,957 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:24:44,957 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:24:44,958 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:24:44,958 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:24:44,962 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:45,446 WARN L181 SmtUtils]: Spent 222.00 ms on a formula simplification. DAG size of input: 30 DAG size of output: 17 [2019-02-14 16:24:45,502 INFO L273 TraceCheckUtils]: 0: Hoare triple {3995#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {3997#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2019-02-14 16:24:45,503 INFO L273 TraceCheckUtils]: 1: Hoare triple {3997#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {3998#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:24:45,504 INFO L273 TraceCheckUtils]: 2: Hoare triple {3998#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {3999#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:24:45,504 INFO L273 TraceCheckUtils]: 3: Hoare triple {3999#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {3999#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:24:45,504 INFO L273 TraceCheckUtils]: 4: Hoare triple {3999#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {3996#false} is VALID [2019-02-14 16:24:45,505 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:45,505 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:24:45,505 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:24:45,505 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-02-14 16:24:45,505 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [24], [25] [2019-02-14 16:24:45,507 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:24:45,507 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:24:45,523 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:24:45,523 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-14 16:24:45,523 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:24:45,523 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:24:45,523 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:24:45,523 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 18 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 18 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:24:45,532 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:24:45,532 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:24:45,536 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:45,542 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:45,542 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:24:45,570 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2019-02-14 16:24:45,578 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:45,579 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 [2019-02-14 16:24:45,595 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:45,596 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:45,597 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 [2019-02-14 16:24:45,613 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:45,614 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:45,615 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:45,616 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 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 [2019-02-14 16:24:45,636 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:45,637 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:45,637 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:45,639 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:45,640 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 [2019-02-14 16:24:45,643 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:45,675 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:45,693 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:45,706 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:45,718 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:45,740 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:45,741 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2019-02-14 16:24:45,754 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:45,754 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_95|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_95| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:24:45,754 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:24:45,816 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:45,817 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:45,819 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:45,820 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:45,822 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:45,824 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:45,825 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:45,827 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:45,828 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:45,829 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:45,831 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:45,832 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2019-02-14 16:24:45,846 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:45,890 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:45,891 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-14 16:24:47,899 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:47,899 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_96|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_96| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 0 (select |v_#memory_int_96| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_96| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_96| ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_96| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_96| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:24:47,900 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:24:47,959 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:47,960 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:47,961 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:47,962 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:47,963 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:47,965 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:47,966 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:47,967 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:47,968 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:47,969 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:47,971 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:47,972 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:47,973 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:47,974 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 88 [2019-02-14 16:24:47,977 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:48,029 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:48,029 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-14 16:24:48,437 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:48,437 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_97|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_97| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_97| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (+ (select |v_#memory_int_97| ULTIMATE.start_main_p4) 1) 0) (= (select |v_#memory_int_97| ULTIMATE.start_main_p3) 0) (= 0 (select |v_#memory_int_97| ULTIMATE.start_main_p5)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_97| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:24:48,438 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:24:48,486 INFO L273 TraceCheckUtils]: 0: Hoare triple {3995#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {4003#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:24:48,489 INFO L273 TraceCheckUtils]: 1: Hoare triple {4003#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4007#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:24:48,496 INFO L273 TraceCheckUtils]: 2: Hoare triple {4007#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {4011#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:24:48,497 INFO L273 TraceCheckUtils]: 3: Hoare triple {4011#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {4011#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:24:48,498 INFO L273 TraceCheckUtils]: 4: Hoare triple {4011#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {3996#false} is VALID [2019-02-14 16:24:48,498 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:48,499 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:24:48,559 INFO L273 TraceCheckUtils]: 4: Hoare triple {4018#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {3996#false} is VALID [2019-02-14 16:24:48,560 INFO L273 TraceCheckUtils]: 3: Hoare triple {4018#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {4018#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:24:48,561 INFO L273 TraceCheckUtils]: 2: Hoare triple {4025#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {4018#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:24:48,562 INFO L273 TraceCheckUtils]: 1: Hoare triple {4029#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4025#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:24:48,565 INFO L273 TraceCheckUtils]: 0: Hoare triple {3995#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {4029#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:24:48,565 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:48,585 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:24:48,585 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-14 16:24:48,585 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:24:48,585 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-14 16:24:48,586 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:24:48,586 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-14 16:24:48,602 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:24:48,602 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-14 16:24:48,602 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-14 16:24:48,602 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2019-02-14 16:24:48,602 INFO L87 Difference]: Start difference. First operand 37 states and 137 transitions. Second operand 8 states. [2019-02-14 16:24:49,740 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:49,740 INFO L93 Difference]: Finished difference Result 56 states and 158 transitions. [2019-02-14 16:24:49,740 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-02-14 16:24:49,740 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-14 16:24:49,741 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:24:49,741 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:24:49,741 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2019-02-14 16:24:49,742 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:24:49,742 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 56 transitions. [2019-02-14 16:24:49,742 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 56 transitions. [2019-02-14 16:24:49,870 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 56 edges. 56 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:24:49,871 INFO L225 Difference]: With dead ends: 56 [2019-02-14 16:24:49,871 INFO L226 Difference]: Without dead ends: 55 [2019-02-14 16:24:49,872 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2019-02-14 16:24:49,872 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2019-02-14 16:24:50,120 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 37. [2019-02-14 16:24:50,120 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:24:50,120 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 37 states. [2019-02-14 16:24:50,120 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 37 states. [2019-02-14 16:24:50,121 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 37 states. [2019-02-14 16:24:50,123 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:50,123 INFO L93 Difference]: Finished difference Result 55 states and 156 transitions. [2019-02-14 16:24:50,123 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 156 transitions. [2019-02-14 16:24:50,124 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:24:50,124 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:24:50,124 INFO L74 IsIncluded]: Start isIncluded. First operand 37 states. Second operand 55 states. [2019-02-14 16:24:50,124 INFO L87 Difference]: Start difference. First operand 37 states. Second operand 55 states. [2019-02-14 16:24:50,126 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:50,126 INFO L93 Difference]: Finished difference Result 55 states and 156 transitions. [2019-02-14 16:24:50,126 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 156 transitions. [2019-02-14 16:24:50,126 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:24:50,126 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:24:50,127 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:24:50,127 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:24:50,127 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 37 states. [2019-02-14 16:24:50,128 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 37 states to 37 states and 137 transitions. [2019-02-14 16:24:50,128 INFO L78 Accepts]: Start accepts. Automaton has 37 states and 137 transitions. Word has length 5 [2019-02-14 16:24:50,128 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:24:50,128 INFO L480 AbstractCegarLoop]: Abstraction has 37 states and 137 transitions. [2019-02-14 16:24:50,128 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-14 16:24:50,128 INFO L276 IsEmpty]: Start isEmpty. Operand 37 states and 137 transitions. [2019-02-14 16:24:50,129 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-14 16:24:50,129 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:24:50,129 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-14 16:24:50,129 INFO L423 AbstractCegarLoop]: === Iteration 21 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:24:50,129 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:24:50,130 INFO L82 PathProgramCache]: Analyzing trace with hash 29189286, now seen corresponding path program 1 times [2019-02-14 16:24:50,130 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:24:50,130 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:24:50,130 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:24:50,131 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:24:50,131 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:24:50,135 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:50,231 INFO L273 TraceCheckUtils]: 0: Hoare triple {4280#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {4282#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:24:50,233 INFO L273 TraceCheckUtils]: 1: Hoare triple {4282#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4283#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-14 16:24:50,233 INFO L273 TraceCheckUtils]: 2: Hoare triple {4283#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p1] >= 0; {4283#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-14 16:24:50,234 INFO L273 TraceCheckUtils]: 3: Hoare triple {4283#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p2] <= 0; {4283#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-14 16:24:50,234 INFO L273 TraceCheckUtils]: 4: Hoare triple {4283#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {4281#false} is VALID [2019-02-14 16:24:50,234 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:50,234 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:24:50,234 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:24:50,235 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-02-14 16:24:50,235 INFO L207 CegarAbsIntRunner]: [0], [18], [24], [26], [27] [2019-02-14 16:24:50,236 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:24:50,236 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:24:50,246 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:24:50,246 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2019-02-14 16:24:50,247 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:24:50,247 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:24:50,247 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:24:50,247 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 19 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 19 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:24:50,256 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:24:50,256 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:24:50,261 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:50,263 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:50,264 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:24:50,289 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 [2019-02-14 16:24:50,294 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 [2019-02-14 16:24:50,304 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 25 [2019-02-14 16:24:50,319 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:50,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, 1 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 31 [2019-02-14 16:24:50,354 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:50,366 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:50,367 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 38 [2019-02-14 16:24:50,372 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:50,391 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:50,405 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:50,419 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:50,432 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:50,453 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:50,453 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:25, output treesize:32 [2019-02-14 16:24:50,458 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:50,458 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_100|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_100| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-14 16:24:50,458 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:24:50,552 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:50,554 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:50,556 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:50,558 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:50,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 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 28 [2019-02-14 16:24:50,574 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:50,594 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:50,594 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-02-14 16:24:51,067 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:51,067 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_101|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_101| ULTIMATE.start_main_p4))) (and (= (store |v_#memory_int_101| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_101| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_101| ULTIMATE.start_main_p3)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) [2019-02-14 16:24:51,067 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-14 16:24:51,171 INFO L273 TraceCheckUtils]: 0: Hoare triple {4280#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {4287#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-14 16:24:51,173 INFO L273 TraceCheckUtils]: 1: Hoare triple {4287#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4291#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:24:51,174 INFO L273 TraceCheckUtils]: 2: Hoare triple {4291#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {4291#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:24:51,175 INFO L273 TraceCheckUtils]: 3: Hoare triple {4291#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {4291#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:24:51,176 INFO L273 TraceCheckUtils]: 4: Hoare triple {4291#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {4281#false} is VALID [2019-02-14 16:24:51,177 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:51,177 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:24:51,199 INFO L273 TraceCheckUtils]: 4: Hoare triple {4301#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {4281#false} is VALID [2019-02-14 16:24:51,200 INFO L273 TraceCheckUtils]: 3: Hoare triple {4301#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {4301#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:24:51,200 INFO L273 TraceCheckUtils]: 2: Hoare triple {4301#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {4301#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:24:51,202 INFO L273 TraceCheckUtils]: 1: Hoare triple {4311#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4301#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:24:51,204 INFO L273 TraceCheckUtils]: 0: Hoare triple {4280#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {4311#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:24:51,204 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:51,223 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:24:51,224 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2019-02-14 16:24:51,224 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:24:51,224 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 5 [2019-02-14 16:24:51,224 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:24:51,224 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2019-02-14 16:24:51,237 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:24:51,237 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2019-02-14 16:24:51,237 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2019-02-14 16:24:51,237 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2019-02-14 16:24:51,238 INFO L87 Difference]: Start difference. First operand 37 states and 137 transitions. Second operand 6 states. [2019-02-14 16:24:51,959 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:51,959 INFO L93 Difference]: Finished difference Result 45 states and 143 transitions. [2019-02-14 16:24:51,959 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2019-02-14 16:24:51,959 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 5 [2019-02-14 16:24:51,960 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:24:51,960 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-14 16:24:51,961 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2019-02-14 16:24:51,961 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-14 16:24:51,962 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2019-02-14 16:24:51,962 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 42 transitions. [2019-02-14 16:24:52,013 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:24:52,014 INFO L225 Difference]: With dead ends: 45 [2019-02-14 16:24:52,014 INFO L226 Difference]: Without dead ends: 44 [2019-02-14 16:24:52,018 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2019-02-14 16:24:52,018 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 44 states. [2019-02-14 16:24:52,267 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 44 to 39. [2019-02-14 16:24:52,268 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:24:52,268 INFO L82 GeneralOperation]: Start isEquivalent. First operand 44 states. Second operand 39 states. [2019-02-14 16:24:52,268 INFO L74 IsIncluded]: Start isIncluded. First operand 44 states. Second operand 39 states. [2019-02-14 16:24:52,268 INFO L87 Difference]: Start difference. First operand 44 states. Second operand 39 states. [2019-02-14 16:24:52,270 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:52,270 INFO L93 Difference]: Finished difference Result 44 states and 141 transitions. [2019-02-14 16:24:52,270 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 141 transitions. [2019-02-14 16:24:52,270 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:24:52,270 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:24:52,270 INFO L74 IsIncluded]: Start isIncluded. First operand 39 states. Second operand 44 states. [2019-02-14 16:24:52,271 INFO L87 Difference]: Start difference. First operand 39 states. Second operand 44 states. [2019-02-14 16:24:52,271 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:52,271 INFO L93 Difference]: Finished difference Result 44 states and 141 transitions. [2019-02-14 16:24:52,272 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 141 transitions. [2019-02-14 16:24:52,272 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:24:52,272 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:24:52,272 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:24:52,272 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:24:52,272 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 39 states. [2019-02-14 16:24:52,273 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 39 states to 39 states and 138 transitions. [2019-02-14 16:24:52,273 INFO L78 Accepts]: Start accepts. Automaton has 39 states and 138 transitions. Word has length 5 [2019-02-14 16:24:52,273 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:24:52,273 INFO L480 AbstractCegarLoop]: Abstraction has 39 states and 138 transitions. [2019-02-14 16:24:52,273 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2019-02-14 16:24:52,273 INFO L276 IsEmpty]: Start isEmpty. Operand 39 states and 138 transitions. [2019-02-14 16:24:52,273 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-14 16:24:52,273 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:24:52,274 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-14 16:24:52,274 INFO L423 AbstractCegarLoop]: === Iteration 22 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:24:52,274 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:24:52,274 INFO L82 PathProgramCache]: Analyzing trace with hash 29175208, now seen corresponding path program 1 times [2019-02-14 16:24:52,274 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:24:52,275 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:24:52,275 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:24:52,275 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:24:52,275 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:24:52,279 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:52,416 INFO L273 TraceCheckUtils]: 0: Hoare triple {4528#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {4530#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2019-02-14 16:24:52,417 INFO L273 TraceCheckUtils]: 1: Hoare triple {4530#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4531#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:24:52,418 INFO L273 TraceCheckUtils]: 2: Hoare triple {4531#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {4532#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-14 16:24:52,419 INFO L273 TraceCheckUtils]: 3: Hoare triple {4532#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {4533#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:24:52,421 INFO L273 TraceCheckUtils]: 4: Hoare triple {4533#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {4529#false} is VALID [2019-02-14 16:24:52,422 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:52,422 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:24:52,422 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:24:52,422 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-02-14 16:24:52,423 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [18], [23] [2019-02-14 16:24:52,424 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:24:52,424 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:24:52,443 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:24:52,443 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-14 16:24:52,444 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:24:52,444 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:24:52,444 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:24:52,444 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 20 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 20 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:24:52,454 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:24:52,454 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:24:52,458 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:52,462 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:52,463 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:24:52,504 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 [2019-02-14 16:24:52,510 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:52,511 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 [2019-02-14 16:24:52,522 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:52,523 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:52,524 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 [2019-02-14 16:24:52,538 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:52,540 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:52,541 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:52,542 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 [2019-02-14 16:24:52,561 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:52,563 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:52,564 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:52,565 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:52,566 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 [2019-02-14 16:24:52,570 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:52,601 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:52,618 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:52,632 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:52,648 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:52,669 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:52,669 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2019-02-14 16:24:52,679 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:52,679 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_103|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store (store (store (store (store |v_#memory_int_103| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|)) [2019-02-14 16:24:52,679 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:24:52,764 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:52,765 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:52,767 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:52,768 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:52,769 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:52,770 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:52,772 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:52,773 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:52,774 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:52,775 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:52,782 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:52,783 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2019-02-14 16:24:52,786 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:52,833 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:52,833 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-14 16:24:52,937 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:52,937 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_104|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_104| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_104| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_104| ULTIMATE.start_main_p3)) (= 0 .cse0) (= 0 (select |v_#memory_int_104| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_104| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_104| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:24:52,938 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:24:53,003 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:53,005 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:53,006 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:53,008 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:53,009 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:53,010 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:53,012 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:53,013 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:53,014 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:53,016 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:53,017 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:53,018 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:24:53,019 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 81 [2019-02-14 16:24:53,047 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:53,247 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:53,247 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2019-02-14 16:24:55,286 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:55,286 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_105|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_105| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_105| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_105| ULTIMATE.start_main_p3)) (= (+ (select |v_#memory_int_105| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |v_#memory_int_105| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_105| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= .cse0 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:24:55,286 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:24:55,411 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:55,412 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:55,413 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:55,415 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:55,416 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:55,417 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:55,418 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:55,420 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:55,421 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:55,422 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:55,423 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:55,424 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:55,425 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:55,427 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 90 [2019-02-14 16:24:55,431 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:55,499 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:55,500 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:52, output treesize:42 [2019-02-14 16:24:55,517 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:55,518 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_106|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_106| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_106| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_106| ULTIMATE.start_main_p5)) (= (+ (select |v_#memory_int_106| ULTIMATE.start_main_p2) 1) 0) (= 0 (select |v_#memory_int_106| ULTIMATE.start_main_p3)) (= 0 .cse0) (= (+ (select |v_#memory_int_106| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:24:55,518 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-14 16:24:55,559 INFO L273 TraceCheckUtils]: 0: Hoare triple {4528#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {4537#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:24:55,563 INFO L273 TraceCheckUtils]: 1: Hoare triple {4537#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4541#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:24:55,573 INFO L273 TraceCheckUtils]: 2: Hoare triple {4541#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {4545#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-02-14 16:24:55,581 INFO L273 TraceCheckUtils]: 3: Hoare triple {4545#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {4549#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-02-14 16:24:55,585 INFO L273 TraceCheckUtils]: 4: Hoare triple {4549#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {4529#false} is VALID [2019-02-14 16:24:55,585 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:55,585 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:24:55,707 INFO L273 TraceCheckUtils]: 4: Hoare triple {4533#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {4529#false} is VALID [2019-02-14 16:24:55,708 INFO L273 TraceCheckUtils]: 3: Hoare triple {4556#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {4533#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:24:55,709 INFO L273 TraceCheckUtils]: 2: Hoare triple {4560#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {4556#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2019-02-14 16:24:55,710 INFO L273 TraceCheckUtils]: 1: Hoare triple {4564#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4560#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2019-02-14 16:24:55,712 INFO L273 TraceCheckUtils]: 0: Hoare triple {4528#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {4564#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1))} is VALID [2019-02-14 16:24:55,712 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:55,732 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:24:55,732 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2019-02-14 16:24:55,732 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:24:55,732 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-02-14 16:24:55,733 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:24:55,733 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-14 16:24:55,762 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:24:55,762 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-14 16:24:55,763 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-14 16:24:55,763 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=93, Unknown=0, NotChecked=0, Total=156 [2019-02-14 16:24:55,763 INFO L87 Difference]: Start difference. First operand 39 states and 138 transitions. Second operand 10 states. [2019-02-14 16:24:57,544 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:57,544 INFO L93 Difference]: Finished difference Result 71 states and 207 transitions. [2019-02-14 16:24:57,544 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-02-14 16:24:57,544 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-02-14 16:24:57,544 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:24:57,544 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:24:57,545 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 74 transitions. [2019-02-14 16:24:57,545 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:24:57,546 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 74 transitions. [2019-02-14 16:24:57,546 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 74 transitions. [2019-02-14 16:24:57,790 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:24:57,791 INFO L225 Difference]: With dead ends: 71 [2019-02-14 16:24:57,791 INFO L226 Difference]: Without dead ends: 70 [2019-02-14 16:24:57,792 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 50 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2019-02-14 16:24:57,792 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2019-02-14 16:24:58,077 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 40. [2019-02-14 16:24:58,077 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:24:58,077 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand 40 states. [2019-02-14 16:24:58,077 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand 40 states. [2019-02-14 16:24:58,078 INFO L87 Difference]: Start difference. First operand 70 states. Second operand 40 states. [2019-02-14 16:24:58,079 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:58,079 INFO L93 Difference]: Finished difference Result 70 states and 205 transitions. [2019-02-14 16:24:58,079 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 205 transitions. [2019-02-14 16:24:58,079 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:24:58,079 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:24:58,079 INFO L74 IsIncluded]: Start isIncluded. First operand 40 states. Second operand 70 states. [2019-02-14 16:24:58,080 INFO L87 Difference]: Start difference. First operand 40 states. Second operand 70 states. [2019-02-14 16:24:58,081 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:24:58,081 INFO L93 Difference]: Finished difference Result 70 states and 205 transitions. [2019-02-14 16:24:58,081 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 205 transitions. [2019-02-14 16:24:58,082 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:24:58,082 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:24:58,082 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:24:58,082 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:24:58,082 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 40 states. [2019-02-14 16:24:58,083 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 144 transitions. [2019-02-14 16:24:58,083 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 144 transitions. Word has length 5 [2019-02-14 16:24:58,083 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:24:58,083 INFO L480 AbstractCegarLoop]: Abstraction has 40 states and 144 transitions. [2019-02-14 16:24:58,083 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-14 16:24:58,084 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 144 transitions. [2019-02-14 16:24:58,084 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-14 16:24:58,084 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:24:58,084 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-14 16:24:58,084 INFO L423 AbstractCegarLoop]: === Iteration 23 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:24:58,084 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:24:58,084 INFO L82 PathProgramCache]: Analyzing trace with hash 29179612, now seen corresponding path program 1 times [2019-02-14 16:24:58,085 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:24:58,085 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:24:58,085 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:24:58,085 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:24:58,086 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:24:58,090 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:58,214 INFO L273 TraceCheckUtils]: 0: Hoare triple {4871#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {4873#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2019-02-14 16:24:58,215 INFO L273 TraceCheckUtils]: 1: Hoare triple {4873#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4874#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:24:58,216 INFO L273 TraceCheckUtils]: 2: Hoare triple {4874#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4875#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:24:58,217 INFO L273 TraceCheckUtils]: 3: Hoare triple {4875#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {4875#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:24:58,218 INFO L273 TraceCheckUtils]: 4: Hoare triple {4875#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {4872#false} is VALID [2019-02-14 16:24:58,218 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:24:58,218 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:24:58,218 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:24:58,219 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-02-14 16:24:58,219 INFO L207 CegarAbsIntRunner]: [0], [14], [18], [24], [25] [2019-02-14 16:24:58,223 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:24:58,223 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:24:58,264 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:24:58,264 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-14 16:24:58,264 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:24:58,264 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:24:58,265 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:24:58,265 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 21 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 21 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:24:58,273 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:24:58,273 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:24:58,277 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:58,284 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:24:58,284 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:24:58,318 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 [2019-02-14 16:24:58,329 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 [2019-02-14 16:24:58,344 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:58,345 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-14 16:24:58,359 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:58,360 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:58,361 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-14 16:24:58,377 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:58,381 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:58,383 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:58,384 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 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 [2019-02-14 16:24:58,386 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:58,408 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:58,422 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:58,434 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:58,445 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:24:58,473 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:58,473 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:28, output treesize:35 [2019-02-14 16:24:58,478 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:24:58,478 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_110|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_110| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:24:58,478 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:24:58,542 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:58,543 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:58,544 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:58,546 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:58,547 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:58,548 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:58,550 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:24:58,550 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 [2019-02-14 16:24:58,553 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:24:58,581 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:24:58,582 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-02-14 16:25:00,589 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:00,590 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_111|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_111| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_111| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_111| ULTIMATE.start_main_p3) 0) (= .cse0 0) (= |#memory_int| (store |v_#memory_int_111| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_111| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:25:00,590 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:25:00,715 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:00,718 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:00,720 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:00,722 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:00,725 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:00,727 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:00,729 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:00,732 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:00,734 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:00,734 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 67 [2019-02-14 16:25:00,736 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:00,781 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:25:00,781 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2019-02-14 16:25:00,791 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:00,791 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_112|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_112| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_112| ULTIMATE.start_main_p2) 0) (= 0 (+ (select |v_#memory_int_112| ULTIMATE.start_main_p4) 1)) (= (select |v_#memory_int_112| ULTIMATE.start_main_p5) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store |v_#memory_int_112| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:25:00,791 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:25:00,855 INFO L273 TraceCheckUtils]: 0: Hoare triple {4871#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {4879#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-14 16:25:00,857 INFO L273 TraceCheckUtils]: 1: Hoare triple {4879#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4883#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:25:00,861 INFO L273 TraceCheckUtils]: 2: Hoare triple {4883#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4887#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:25:00,863 INFO L273 TraceCheckUtils]: 3: Hoare triple {4887#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {4887#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:25:00,864 INFO L273 TraceCheckUtils]: 4: Hoare triple {4887#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {4872#false} is VALID [2019-02-14 16:25:00,864 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:25:00,864 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:25:00,939 INFO L273 TraceCheckUtils]: 4: Hoare triple {4894#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {4872#false} is VALID [2019-02-14 16:25:00,941 INFO L273 TraceCheckUtils]: 3: Hoare triple {4894#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {4894#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:25:00,945 INFO L273 TraceCheckUtils]: 2: Hoare triple {4901#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {4894#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:25:00,948 INFO L273 TraceCheckUtils]: 1: Hoare triple {4905#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {4901#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:25:00,950 INFO L273 TraceCheckUtils]: 0: Hoare triple {4871#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {4905#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:25:00,950 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:25:00,968 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:25:00,968 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-14 16:25:00,968 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:25:00,969 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-14 16:25:00,969 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:25:00,969 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-14 16:25:00,992 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:25:00,993 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-14 16:25:00,993 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-14 16:25:00,993 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2019-02-14 16:25:00,993 INFO L87 Difference]: Start difference. First operand 40 states and 144 transitions. Second operand 8 states. [2019-02-14 16:25:02,912 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:25:02,912 INFO L93 Difference]: Finished difference Result 59 states and 171 transitions. [2019-02-14 16:25:02,912 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-02-14 16:25:02,912 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-14 16:25:02,912 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:25:02,912 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:25:02,913 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 55 transitions. [2019-02-14 16:25:02,913 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:25:02,913 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 55 transitions. [2019-02-14 16:25:02,913 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 55 transitions. [2019-02-14 16:25:02,992 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:25:02,994 INFO L225 Difference]: With dead ends: 59 [2019-02-14 16:25:02,994 INFO L226 Difference]: Without dead ends: 58 [2019-02-14 16:25:02,994 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2019-02-14 16:25:02,995 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2019-02-14 16:25:03,330 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 41. [2019-02-14 16:25:03,330 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:25:03,330 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand 41 states. [2019-02-14 16:25:03,330 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand 41 states. [2019-02-14 16:25:03,330 INFO L87 Difference]: Start difference. First operand 58 states. Second operand 41 states. [2019-02-14 16:25:03,332 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:25:03,333 INFO L93 Difference]: Finished difference Result 58 states and 169 transitions. [2019-02-14 16:25:03,333 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 169 transitions. [2019-02-14 16:25:03,333 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:25:03,334 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:25:03,334 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 58 states. [2019-02-14 16:25:03,334 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 58 states. [2019-02-14 16:25:03,335 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:25:03,336 INFO L93 Difference]: Finished difference Result 58 states and 169 transitions. [2019-02-14 16:25:03,336 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 169 transitions. [2019-02-14 16:25:03,336 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:25:03,336 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:25:03,336 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:25:03,336 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:25:03,336 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2019-02-14 16:25:03,337 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 150 transitions. [2019-02-14 16:25:03,337 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 150 transitions. Word has length 5 [2019-02-14 16:25:03,337 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:25:03,337 INFO L480 AbstractCegarLoop]: Abstraction has 41 states and 150 transitions. [2019-02-14 16:25:03,337 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-14 16:25:03,338 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 150 transitions. [2019-02-14 16:25:03,338 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-14 16:25:03,338 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:25:03,338 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-14 16:25:03,338 INFO L423 AbstractCegarLoop]: === Iteration 24 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:25:03,338 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:25:03,338 INFO L82 PathProgramCache]: Analyzing trace with hash 29179176, now seen corresponding path program 1 times [2019-02-14 16:25:03,339 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:25:03,339 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:25:03,339 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:25:03,339 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:25:03,339 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:25:03,345 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:25:03,878 INFO L273 TraceCheckUtils]: 0: Hoare triple {5173#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {5175#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:25:03,879 INFO L273 TraceCheckUtils]: 1: Hoare triple {5175#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5176#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:25:03,880 INFO L273 TraceCheckUtils]: 2: Hoare triple {5176#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {5177#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:25:03,880 INFO L273 TraceCheckUtils]: 3: Hoare triple {5177#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {5178#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-14 16:25:03,881 INFO L273 TraceCheckUtils]: 4: Hoare triple {5178#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {5174#false} is VALID [2019-02-14 16:25:03,881 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:25:03,881 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:25:03,882 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:25:03,882 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-02-14 16:25:03,882 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [18], [23] [2019-02-14 16:25:03,883 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:25:03,883 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:25:03,894 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:25:03,894 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-14 16:25:03,895 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:25:03,895 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:25:03,895 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:25:03,895 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 22 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 22 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:25:03,905 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:25:03,905 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:25:03,909 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:25:03,915 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:25:03,915 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:25:03,935 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 [2019-02-14 16:25:03,943 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:03,944 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 [2019-02-14 16:25:03,955 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:03,956 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:03,957 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 [2019-02-14 16:25:03,973 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:03,975 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:03,976 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:03,977 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 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 [2019-02-14 16:25:04,001 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:04,003 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:04,004 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:04,006 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:04,007 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 [2019-02-14 16:25:04,012 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:04,053 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:04,070 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:04,083 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:04,094 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:04,115 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. [2019-02-14 16:25:04,115 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-14 16:25:04,121 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:04,121 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_115|, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_115| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:25:04,121 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:25:04,178 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:04,179 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:04,181 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:04,182 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:04,183 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:04,185 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:04,186 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:04,188 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:04,189 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:04,190 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:04,192 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:04,193 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2019-02-14 16:25:04,195 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:04,260 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:25:04,260 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-14 16:25:04,269 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:04,269 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_116|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_116| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 0 (select |v_#memory_int_116| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_116| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_116| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_116| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_116| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))))) [2019-02-14 16:25:04,270 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:25:04,326 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:04,327 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:04,329 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:04,330 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:04,331 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:04,332 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:04,334 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:04,335 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:04,336 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:04,337 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:04,339 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:04,340 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:04,341 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:04,342 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 88 [2019-02-14 16:25:04,346 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:04,399 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:25:04,400 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-14 16:25:06,405 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:06,406 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_117|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_117| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 .cse0) (= (store |v_#memory_int_117| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= (+ (select |v_#memory_int_117| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |v_#memory_int_117| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_117| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_117| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:25:06,406 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:25:06,570 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:06,571 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:06,573 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:06,574 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:06,576 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:06,577 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:06,578 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:06,580 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:06,581 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:06,582 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:06,583 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:06,585 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:06,585 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:25:06,586 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:06,587 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 97 [2019-02-14 16:25:06,591 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:06,674 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:25:06,675 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2019-02-14 16:25:06,694 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:06,694 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_118|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_118| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 .cse0) (= 0 (+ (select |v_#memory_int_118| ULTIMATE.start_main_p4) 1)) (= 0 (select |v_#memory_int_118| ULTIMATE.start_main_p5)) (= 1 (select |v_#memory_int_118| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_118| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_118| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))))) [2019-02-14 16:25:06,694 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:25:06,771 INFO L273 TraceCheckUtils]: 0: Hoare triple {5173#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {5182#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:25:06,774 INFO L273 TraceCheckUtils]: 1: Hoare triple {5182#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5186#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:25:06,777 INFO L273 TraceCheckUtils]: 2: Hoare triple {5186#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {5190#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:25:06,782 INFO L273 TraceCheckUtils]: 3: Hoare triple {5190#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {5194#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-02-14 16:25:06,782 INFO L273 TraceCheckUtils]: 4: Hoare triple {5194#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {5174#false} is VALID [2019-02-14 16:25:06,783 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:25:06,783 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:25:06,851 INFO L273 TraceCheckUtils]: 4: Hoare triple {5198#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {5174#false} is VALID [2019-02-14 16:25:06,852 INFO L273 TraceCheckUtils]: 3: Hoare triple {5202#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {5198#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:25:06,854 INFO L273 TraceCheckUtils]: 2: Hoare triple {5206#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {5202#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:25:06,856 INFO L273 TraceCheckUtils]: 1: Hoare triple {5210#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {5206#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:25:06,858 INFO L273 TraceCheckUtils]: 0: Hoare triple {5173#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {5210#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:25:06,859 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:25:06,879 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:25:06,880 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2019-02-14 16:25:06,880 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:25:06,880 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-02-14 16:25:06,880 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:25:06,880 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-14 16:25:06,900 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:25:06,900 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-14 16:25:06,901 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-14 16:25:06,901 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=116, Unknown=0, NotChecked=0, Total=182 [2019-02-14 16:25:06,901 INFO L87 Difference]: Start difference. First operand 41 states and 150 transitions. Second operand 10 states. [2019-02-14 16:25:08,895 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:25:08,895 INFO L93 Difference]: Finished difference Result 71 states and 197 transitions. [2019-02-14 16:25:08,895 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-14 16:25:08,895 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-02-14 16:25:08,895 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:25:08,896 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:25:08,896 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 69 transitions. [2019-02-14 16:25:08,896 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:25:08,896 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 69 transitions. [2019-02-14 16:25:08,897 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 69 transitions. [2019-02-14 16:25:09,079 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 69 edges. 69 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:25:09,080 INFO L225 Difference]: With dead ends: 71 [2019-02-14 16:25:09,080 INFO L226 Difference]: Without dead ends: 70 [2019-02-14 16:25:09,080 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=99, Invalid=173, Unknown=0, NotChecked=0, Total=272 [2019-02-14 16:25:09,080 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2019-02-14 16:25:09,312 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 38. [2019-02-14 16:25:09,312 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:25:09,313 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand 38 states. [2019-02-14 16:25:09,313 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand 38 states. [2019-02-14 16:25:09,313 INFO L87 Difference]: Start difference. First operand 70 states. Second operand 38 states. [2019-02-14 16:25:09,315 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:25:09,315 INFO L93 Difference]: Finished difference Result 70 states and 195 transitions. [2019-02-14 16:25:09,315 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 195 transitions. [2019-02-14 16:25:09,315 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:25:09,315 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:25:09,315 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand 70 states. [2019-02-14 16:25:09,315 INFO L87 Difference]: Start difference. First operand 38 states. Second operand 70 states. [2019-02-14 16:25:09,316 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:25:09,317 INFO L93 Difference]: Finished difference Result 70 states and 195 transitions. [2019-02-14 16:25:09,317 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 195 transitions. [2019-02-14 16:25:09,317 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:25:09,317 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:25:09,317 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:25:09,317 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:25:09,317 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 38 states. [2019-02-14 16:25:09,318 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 38 states to 38 states and 132 transitions. [2019-02-14 16:25:09,318 INFO L78 Accepts]: Start accepts. Automaton has 38 states and 132 transitions. Word has length 5 [2019-02-14 16:25:09,318 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:25:09,318 INFO L480 AbstractCegarLoop]: Abstraction has 38 states and 132 transitions. [2019-02-14 16:25:09,318 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-14 16:25:09,318 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 132 transitions. [2019-02-14 16:25:09,319 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-14 16:25:09,319 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:25:09,319 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-14 16:25:09,319 INFO L423 AbstractCegarLoop]: === Iteration 25 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:25:09,319 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:25:09,319 INFO L82 PathProgramCache]: Analyzing trace with hash 29231506, now seen corresponding path program 1 times [2019-02-14 16:25:09,319 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:25:09,320 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:25:09,320 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:25:09,320 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:25:09,320 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:25:09,324 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:25:09,483 INFO L273 TraceCheckUtils]: 0: Hoare triple {5513#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {5515#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:25:09,484 INFO L273 TraceCheckUtils]: 1: Hoare triple {5515#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {5516#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:25:09,485 INFO L273 TraceCheckUtils]: 2: Hoare triple {5516#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5516#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:25:09,485 INFO L273 TraceCheckUtils]: 3: Hoare triple {5516#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {5517#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:25:09,486 INFO L273 TraceCheckUtils]: 4: Hoare triple {5517#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {5514#false} is VALID [2019-02-14 16:25:09,487 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-14 16:25:09,487 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:25:09,487 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:25:09,487 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-02-14 16:25:09,487 INFO L207 CegarAbsIntRunner]: [0], [6], [20], [24], [25] [2019-02-14 16:25:09,489 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:25:09,489 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:25:09,500 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:25:09,500 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-14 16:25:09,500 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:25:09,501 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:25:09,501 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:25:09,501 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 23 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 23 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:25:09,510 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:25:09,511 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:25:09,515 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:25:09,517 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:25:09,518 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:25:09,558 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 [2019-02-14 16:25:09,564 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:09,565 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 [2019-02-14 16:25:09,575 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:09,576 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:09,577 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 [2019-02-14 16:25:09,591 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:09,593 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:09,595 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:09,596 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 [2019-02-14 16:25:09,613 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:09,614 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:09,615 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:09,616 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:09,617 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 [2019-02-14 16:25:09,620 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:09,651 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:09,667 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:09,681 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:09,692 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:09,717 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:25:09,717 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2019-02-14 16:25:09,725 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:09,725 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_122|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_122| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:25:09,726 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:25:09,786 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:09,787 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:09,789 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:09,790 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:09,791 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:09,793 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:09,794 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:09,795 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:09,797 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:09,798 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:09,799 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:09,800 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2019-02-14 16:25:09,803 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:09,849 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:25:09,850 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-14 16:25:11,855 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:11,855 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_123|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_123| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (select |v_#memory_int_123| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_123| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_123| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= |#memory_int| (store |v_#memory_int_123| ULTIMATE.start_main_p5 (+ .cse0 1))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_123| ULTIMATE.start_main_p3)))) [2019-02-14 16:25:11,855 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:25:12,195 WARN L181 SmtUtils]: Spent 130.00 ms on a formula simplification that was a NOOP. DAG size: 25 [2019-02-14 16:25:12,450 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:12,452 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:12,453 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:12,454 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:12,456 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:12,457 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:12,458 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:12,460 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:12,461 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:12,462 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:12,464 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:12,465 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:12,466 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:25:12,467 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 80 [2019-02-14 16:25:12,471 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:12,523 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:25:12,523 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-14 16:25:12,641 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:12,641 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_124|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_124| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_124| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 (select |v_#memory_int_124| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_124| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_124| ULTIMATE.start_main_p4) 0) (= 0 .cse0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_124| ULTIMATE.start_main_p5) 1))) [2019-02-14 16:25:12,641 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:25:12,700 INFO L273 TraceCheckUtils]: 0: Hoare triple {5513#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {5521#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:25:12,703 INFO L273 TraceCheckUtils]: 1: Hoare triple {5521#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {5525#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:25:12,707 INFO L273 TraceCheckUtils]: 2: Hoare triple {5525#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5529#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-14 16:25:12,708 INFO L273 TraceCheckUtils]: 3: Hoare triple {5529#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {5529#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-14 16:25:12,708 INFO L273 TraceCheckUtils]: 4: Hoare triple {5529#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p2] <= 0); {5514#false} is VALID [2019-02-14 16:25:12,709 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:25:12,709 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:25:12,752 INFO L273 TraceCheckUtils]: 4: Hoare triple {5536#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {5514#false} is VALID [2019-02-14 16:25:12,752 INFO L273 TraceCheckUtils]: 3: Hoare triple {5536#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {5536#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:25:12,754 INFO L273 TraceCheckUtils]: 2: Hoare triple {5543#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5536#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:25:12,755 INFO L273 TraceCheckUtils]: 1: Hoare triple {5547#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {5543#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:25:12,757 INFO L273 TraceCheckUtils]: 0: Hoare triple {5513#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {5547#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:25:12,758 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:25:12,776 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:25:12,777 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-14 16:25:12,777 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:25:12,777 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-14 16:25:12,777 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:25:12,777 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-14 16:25:12,795 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:25:12,796 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-14 16:25:12,796 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-14 16:25:12,796 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=67, Unknown=0, NotChecked=0, Total=110 [2019-02-14 16:25:12,796 INFO L87 Difference]: Start difference. First operand 38 states and 132 transitions. Second operand 8 states. [2019-02-14 16:25:14,358 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:25:14,358 INFO L93 Difference]: Finished difference Result 66 states and 183 transitions. [2019-02-14 16:25:14,358 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-02-14 16:25:14,358 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-14 16:25:14,359 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:25:14,359 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:25:14,359 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 58 transitions. [2019-02-14 16:25:14,360 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:25:14,360 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 58 transitions. [2019-02-14 16:25:14,360 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 58 transitions. [2019-02-14 16:25:14,499 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:25:14,500 INFO L225 Difference]: With dead ends: 66 [2019-02-14 16:25:14,500 INFO L226 Difference]: Without dead ends: 65 [2019-02-14 16:25:14,501 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 2 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=61, Invalid=95, Unknown=0, NotChecked=0, Total=156 [2019-02-14 16:25:14,501 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states. [2019-02-14 16:25:14,795 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 41. [2019-02-14 16:25:14,796 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:25:14,796 INFO L82 GeneralOperation]: Start isEquivalent. First operand 65 states. Second operand 41 states. [2019-02-14 16:25:14,796 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand 41 states. [2019-02-14 16:25:14,796 INFO L87 Difference]: Start difference. First operand 65 states. Second operand 41 states. [2019-02-14 16:25:14,797 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:25:14,797 INFO L93 Difference]: Finished difference Result 65 states and 181 transitions. [2019-02-14 16:25:14,797 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 181 transitions. [2019-02-14 16:25:14,797 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:25:14,798 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:25:14,798 INFO L74 IsIncluded]: Start isIncluded. First operand 41 states. Second operand 65 states. [2019-02-14 16:25:14,798 INFO L87 Difference]: Start difference. First operand 41 states. Second operand 65 states. [2019-02-14 16:25:14,799 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:25:14,799 INFO L93 Difference]: Finished difference Result 65 states and 181 transitions. [2019-02-14 16:25:14,800 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 181 transitions. [2019-02-14 16:25:14,800 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:25:14,800 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:25:14,800 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:25:14,800 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:25:14,800 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 41 states. [2019-02-14 16:25:14,801 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 41 states to 41 states and 150 transitions. [2019-02-14 16:25:14,801 INFO L78 Accepts]: Start accepts. Automaton has 41 states and 150 transitions. Word has length 5 [2019-02-14 16:25:14,801 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:25:14,801 INFO L480 AbstractCegarLoop]: Abstraction has 41 states and 150 transitions. [2019-02-14 16:25:14,801 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-14 16:25:14,801 INFO L276 IsEmpty]: Start isEmpty. Operand 41 states and 150 transitions. [2019-02-14 16:25:14,802 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-14 16:25:14,802 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:25:14,802 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-14 16:25:14,802 INFO L423 AbstractCegarLoop]: === Iteration 26 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:25:14,802 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:25:14,802 INFO L82 PathProgramCache]: Analyzing trace with hash 29231070, now seen corresponding path program 1 times [2019-02-14 16:25:14,802 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:25:14,803 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:25:14,803 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:25:14,803 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:25:14,803 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:25:14,807 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:25:15,007 INFO L273 TraceCheckUtils]: 0: Hoare triple {5837#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {5839#(and (<= (+ ULTIMATE.start_main_p1 4) ULTIMATE.start_main_p5) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:25:15,010 INFO L273 TraceCheckUtils]: 1: Hoare triple {5839#(and (<= (+ ULTIMATE.start_main_p1 4) ULTIMATE.start_main_p5) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {5840#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:25:15,011 INFO L273 TraceCheckUtils]: 2: Hoare triple {5840#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5841#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:25:15,012 INFO L273 TraceCheckUtils]: 3: Hoare triple {5841#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {5842#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:25:15,012 INFO L273 TraceCheckUtils]: 4: Hoare triple {5842#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {5838#false} is VALID [2019-02-14 16:25:15,012 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:25:15,013 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:25:15,013 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:25:15,013 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-02-14 16:25:15,013 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [20], [23] [2019-02-14 16:25:15,015 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:25:15,015 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:25:15,022 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:25:15,022 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-14 16:25:15,023 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:25:15,023 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:25:15,023 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:25:15,023 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 24 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 24 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:25:15,034 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:25:15,034 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:25:15,038 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:25:15,042 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:25:15,043 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:25:15,064 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2019-02-14 16:25:15,086 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,086 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 [2019-02-14 16:25:15,096 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,097 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,098 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 [2019-02-14 16:25:15,111 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,112 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,114 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,115 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 [2019-02-14 16:25:15,139 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,140 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,141 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,143 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,144 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2019-02-14 16:25:15,147 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:15,177 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:15,193 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:15,205 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:15,216 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:15,239 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:25:15,240 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2019-02-14 16:25:15,248 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:15,248 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_127|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= |#memory_int| (store (store (store (store (store |v_#memory_int_127| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:25:15,249 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:25:15,311 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,312 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,314 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,315 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,316 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,317 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,319 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,320 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,321 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,322 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,323 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,324 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2019-02-14 16:25:15,328 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:15,378 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:25:15,379 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-14 16:25:15,389 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:15,389 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_128|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_128| ULTIMATE.start_main_p5))) (and (= 0 .cse0) (= (select |v_#memory_int_128| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_128| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_128| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_128| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_128| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:25:15,389 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:25:15,457 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,458 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,460 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,461 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,462 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,463 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,465 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,466 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,467 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,468 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,469 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,470 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,471 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:25:15,472 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 80 [2019-02-14 16:25:15,475 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:15,525 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:25:15,526 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-14 16:25:15,546 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:15,546 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_129|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_129| ULTIMATE.start_main_p1))) (and (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_129| ULTIMATE.start_main_p2) 0) (= 1 (select |v_#memory_int_129| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_129| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (store |v_#memory_int_129| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_129| ULTIMATE.start_main_p4) 0))) [2019-02-14 16:25:15,547 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:25:15,635 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,637 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,638 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,639 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,641 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,642 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,644 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,645 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,646 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,648 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,649 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,650 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,652 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:15,653 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 86 [2019-02-14 16:25:15,656 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:15,709 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:25:15,710 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-14 16:25:17,724 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:17,724 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_130|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_130| ULTIMATE.start_main_p2))) (and (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_130| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_130| ULTIMATE.start_main_p4)) (= |#memory_int| (store |v_#memory_int_130| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 1 (select |v_#memory_int_130| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_130| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:25:17,724 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:25:17,791 INFO L273 TraceCheckUtils]: 0: Hoare triple {5837#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {5846#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:25:17,793 INFO L273 TraceCheckUtils]: 1: Hoare triple {5846#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {5850#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:25:17,797 INFO L273 TraceCheckUtils]: 2: Hoare triple {5850#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5854#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:25:17,803 INFO L273 TraceCheckUtils]: 3: Hoare triple {5854#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {5858#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-02-14 16:25:17,803 INFO L273 TraceCheckUtils]: 4: Hoare triple {5858#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {5838#false} is VALID [2019-02-14 16:25:17,804 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:25:17,804 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:25:17,863 INFO L273 TraceCheckUtils]: 4: Hoare triple {5862#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {5838#false} is VALID [2019-02-14 16:25:17,864 INFO L273 TraceCheckUtils]: 3: Hoare triple {5866#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {5862#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:25:17,865 INFO L273 TraceCheckUtils]: 2: Hoare triple {5870#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {5866#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:25:17,867 INFO L273 TraceCheckUtils]: 1: Hoare triple {5874#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {5870#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:25:17,870 INFO L273 TraceCheckUtils]: 0: Hoare triple {5837#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {5874#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:25:17,870 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 5 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:25:17,890 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:25:17,890 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2019-02-14 16:25:17,890 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:25:17,890 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-02-14 16:25:17,890 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:25:17,891 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-14 16:25:17,910 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:25:17,910 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-14 16:25:17,911 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-14 16:25:17,911 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2019-02-14 16:25:17,911 INFO L87 Difference]: Start difference. First operand 41 states and 150 transitions. Second operand 10 states. [2019-02-14 16:25:19,571 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:25:19,572 INFO L93 Difference]: Finished difference Result 93 states and 253 transitions. [2019-02-14 16:25:19,572 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-02-14 16:25:19,572 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-02-14 16:25:19,572 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:25:19,572 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:25:19,572 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 85 transitions. [2019-02-14 16:25:19,573 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:25:19,573 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 85 transitions. [2019-02-14 16:25:19,573 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 85 transitions. [2019-02-14 16:25:19,778 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:25:19,780 INFO L225 Difference]: With dead ends: 93 [2019-02-14 16:25:19,780 INFO L226 Difference]: Without dead ends: 92 [2019-02-14 16:25:19,780 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=89, Invalid=151, Unknown=0, NotChecked=0, Total=240 [2019-02-14 16:25:19,780 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2019-02-14 16:25:20,207 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 48. [2019-02-14 16:25:20,208 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:25:20,208 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand 48 states. [2019-02-14 16:25:20,208 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand 48 states. [2019-02-14 16:25:20,208 INFO L87 Difference]: Start difference. First operand 92 states. Second operand 48 states. [2019-02-14 16:25:20,211 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:25:20,211 INFO L93 Difference]: Finished difference Result 92 states and 251 transitions. [2019-02-14 16:25:20,211 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 251 transitions. [2019-02-14 16:25:20,211 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:25:20,211 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:25:20,211 INFO L74 IsIncluded]: Start isIncluded. First operand 48 states. Second operand 92 states. [2019-02-14 16:25:20,211 INFO L87 Difference]: Start difference. First operand 48 states. Second operand 92 states. [2019-02-14 16:25:20,213 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:25:20,213 INFO L93 Difference]: Finished difference Result 92 states and 251 transitions. [2019-02-14 16:25:20,213 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 251 transitions. [2019-02-14 16:25:20,213 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:25:20,213 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:25:20,213 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:25:20,214 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:25:20,214 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 48 states. [2019-02-14 16:25:20,215 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 192 transitions. [2019-02-14 16:25:20,215 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 192 transitions. Word has length 5 [2019-02-14 16:25:20,215 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:25:20,215 INFO L480 AbstractCegarLoop]: Abstraction has 48 states and 192 transitions. [2019-02-14 16:25:20,216 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-14 16:25:20,216 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 192 transitions. [2019-02-14 16:25:20,216 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-14 16:25:20,216 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:25:20,216 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-14 16:25:20,216 INFO L423 AbstractCegarLoop]: === Iteration 27 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:25:20,216 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:25:20,217 INFO L82 PathProgramCache]: Analyzing trace with hash 29248868, now seen corresponding path program 1 times [2019-02-14 16:25:20,217 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:25:20,217 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:25:20,217 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:25:20,217 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:25:20,218 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:25:20,221 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:25:20,568 WARN L181 SmtUtils]: Spent 140.00 ms on a formula simplification. DAG size of input: 19 DAG size of output: 13 [2019-02-14 16:25:20,579 INFO L273 TraceCheckUtils]: 0: Hoare triple {6268#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {6270#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:25:20,580 INFO L273 TraceCheckUtils]: 1: Hoare triple {6270#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6271#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-14 16:25:20,581 INFO L273 TraceCheckUtils]: 2: Hoare triple {6271#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p1] >= 0; {6271#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-14 16:25:20,581 INFO L273 TraceCheckUtils]: 3: Hoare triple {6271#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p2] <= 0; {6271#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-14 16:25:20,582 INFO L273 TraceCheckUtils]: 4: Hoare triple {6271#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {6269#false} is VALID [2019-02-14 16:25:20,583 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:25:20,583 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:25:20,583 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:25:20,583 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-02-14 16:25:20,584 INFO L207 CegarAbsIntRunner]: [0], [20], [24], [26], [27] [2019-02-14 16:25:20,585 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:25:20,585 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:25:20,595 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:25:20,596 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2019-02-14 16:25:20,596 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:25:20,596 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:25:20,596 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:25:20,596 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 25 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 25 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:25:20,605 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:25:20,606 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:25:20,609 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:25:20,613 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:25:20,613 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:25:20,628 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 [2019-02-14 16:25:20,634 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 [2019-02-14 16:25:20,644 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 25 [2019-02-14 16:25:20,656 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:20,657 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 31 [2019-02-14 16:25:20,671 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:20,678 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:20,679 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 38 [2019-02-14 16:25:20,686 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:20,702 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:20,714 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:20,725 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:20,737 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:20,754 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:25:20,754 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:25, output treesize:32 [2019-02-14 16:25:20,763 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:20,763 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_134|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (and (= (store (store (store (store (store |v_#memory_int_134| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-14 16:25:20,763 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:25:20,813 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:20,815 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:20,816 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:20,817 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:20,818 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 [2019-02-14 16:25:20,821 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:20,841 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:25:20,841 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-02-14 16:25:20,848 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:20,848 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_135|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_135| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_135| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_135| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_135| ULTIMATE.start_main_p4)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) [2019-02-14 16:25:20,848 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:25:20,896 INFO L273 TraceCheckUtils]: 0: Hoare triple {6268#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {6275#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-14 16:25:20,898 INFO L273 TraceCheckUtils]: 1: Hoare triple {6275#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6279#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-14 16:25:20,899 INFO L273 TraceCheckUtils]: 2: Hoare triple {6279#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {6279#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-14 16:25:20,900 INFO L273 TraceCheckUtils]: 3: Hoare triple {6279#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p2] <= 0; {6279#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-14 16:25:20,901 INFO L273 TraceCheckUtils]: 4: Hoare triple {6279#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p3] >= 0); {6269#false} is VALID [2019-02-14 16:25:20,901 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:25:20,902 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:25:20,935 INFO L273 TraceCheckUtils]: 4: Hoare triple {6289#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {6269#false} is VALID [2019-02-14 16:25:20,936 INFO L273 TraceCheckUtils]: 3: Hoare triple {6289#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {6289#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:25:20,936 INFO L273 TraceCheckUtils]: 2: Hoare triple {6289#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {6289#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:25:20,937 INFO L273 TraceCheckUtils]: 1: Hoare triple {6299#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6289#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:25:20,938 INFO L273 TraceCheckUtils]: 0: Hoare triple {6268#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {6299#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:25:20,939 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:25:20,958 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 2 imperfect interpolant sequences. [2019-02-14 16:25:20,959 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2, 2] total 6 [2019-02-14 16:25:20,959 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-02-14 16:25:20,959 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 5 [2019-02-14 16:25:20,959 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:25:20,959 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2019-02-14 16:25:20,965 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 5 edges. 5 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:25:20,965 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2019-02-14 16:25:20,966 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2019-02-14 16:25:20,966 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=30, Unknown=0, NotChecked=0, Total=56 [2019-02-14 16:25:20,966 INFO L87 Difference]: Start difference. First operand 48 states and 192 transitions. Second operand 4 states. [2019-02-14 16:25:21,734 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:25:21,734 INFO L93 Difference]: Finished difference Result 56 states and 215 transitions. [2019-02-14 16:25:21,735 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2019-02-14 16:25:21,735 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 5 [2019-02-14 16:25:21,735 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:25:21,735 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-02-14 16:25:21,735 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 25 transitions. [2019-02-14 16:25:21,735 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-02-14 16:25:21,736 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 25 transitions. [2019-02-14 16:25:21,736 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 25 transitions. [2019-02-14 16:25:21,758 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:25:21,759 INFO L225 Difference]: With dead ends: 56 [2019-02-14 16:25:21,759 INFO L226 Difference]: Without dead ends: 55 [2019-02-14 16:25:21,760 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=26, Invalid=30, Unknown=0, NotChecked=0, Total=56 [2019-02-14 16:25:21,760 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2019-02-14 16:25:22,304 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 52. [2019-02-14 16:25:22,305 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:25:22,305 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand 52 states. [2019-02-14 16:25:22,305 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand 52 states. [2019-02-14 16:25:22,305 INFO L87 Difference]: Start difference. First operand 55 states. Second operand 52 states. [2019-02-14 16:25:22,307 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:25:22,307 INFO L93 Difference]: Finished difference Result 55 states and 213 transitions. [2019-02-14 16:25:22,307 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 213 transitions. [2019-02-14 16:25:22,307 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:25:22,307 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:25:22,308 INFO L74 IsIncluded]: Start isIncluded. First operand 52 states. Second operand 55 states. [2019-02-14 16:25:22,308 INFO L87 Difference]: Start difference. First operand 52 states. Second operand 55 states. [2019-02-14 16:25:22,309 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:25:22,309 INFO L93 Difference]: Finished difference Result 55 states and 213 transitions. [2019-02-14 16:25:22,309 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 213 transitions. [2019-02-14 16:25:22,309 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:25:22,309 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:25:22,309 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:25:22,309 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:25:22,309 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 52 states. [2019-02-14 16:25:22,310 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 211 transitions. [2019-02-14 16:25:22,311 INFO L78 Accepts]: Start accepts. Automaton has 52 states and 211 transitions. Word has length 5 [2019-02-14 16:25:22,311 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:25:22,311 INFO L480 AbstractCegarLoop]: Abstraction has 52 states and 211 transitions. [2019-02-14 16:25:22,311 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2019-02-14 16:25:22,311 INFO L276 IsEmpty]: Start isEmpty. Operand 52 states and 211 transitions. [2019-02-14 16:25:22,311 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-14 16:25:22,311 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:25:22,311 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-14 16:25:22,312 INFO L423 AbstractCegarLoop]: === Iteration 28 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:25:22,312 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:25:22,312 INFO L82 PathProgramCache]: Analyzing trace with hash 29235350, now seen corresponding path program 1 times [2019-02-14 16:25:22,312 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:25:22,312 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:25:22,313 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:25:22,313 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:25:22,313 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:25:22,316 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:25:22,397 INFO L273 TraceCheckUtils]: 0: Hoare triple {6584#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {6586#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:25:22,398 INFO L273 TraceCheckUtils]: 1: Hoare triple {6586#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6587#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:25:22,399 INFO L273 TraceCheckUtils]: 2: Hoare triple {6587#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {6588#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2019-02-14 16:25:22,399 INFO L273 TraceCheckUtils]: 3: Hoare triple {6588#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume #memory_int[main_p1] >= 0; {6588#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2019-02-14 16:25:22,400 INFO L273 TraceCheckUtils]: 4: Hoare triple {6588#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {6585#false} is VALID [2019-02-14 16:25:22,400 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:25:22,400 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:25:22,400 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:25:22,400 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-02-14 16:25:22,401 INFO L207 CegarAbsIntRunner]: [0], [10], [20], [24], [25] [2019-02-14 16:25:22,401 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:25:22,401 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:25:22,410 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:25:22,410 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-14 16:25:22,411 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:25:22,411 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:25:22,411 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:25:22,411 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 26 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 26 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:25:22,424 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:25:22,424 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:25:22,429 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:25:22,432 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:25:22,433 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:25:22,457 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 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 [2019-02-14 16:25:22,464 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 [2019-02-14 16:25:22,478 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:22,479 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-14 16:25:22,493 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:22,494 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:22,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, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-14 16:25:22,512 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:22,518 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:22,519 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:22,520 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 [2019-02-14 16:25:22,526 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:22,547 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:22,563 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:22,575 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:22,587 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:22,610 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:25:22,610 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:28, output treesize:35 [2019-02-14 16:25:22,621 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:22,622 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_137|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (= |#memory_int| (store (store (store (store (store |v_#memory_int_137| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:25:22,622 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:25:22,687 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:22,688 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:22,690 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:22,691 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:22,692 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:22,693 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:22,694 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:22,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, 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 [2019-02-14 16:25:22,729 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:22,762 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:25:22,762 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2019-02-14 16:25:23,245 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:23,246 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_138|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_138| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_138| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_138| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |v_#memory_int_138| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_138| ULTIMATE.start_main_p4)))) [2019-02-14 16:25:23,246 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:25:23,306 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:23,308 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:23,309 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:23,310 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:23,311 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:23,312 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:23,313 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:23,315 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:23,316 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:23,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, 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 [2019-02-14 16:25:23,323 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:23,373 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:25:23,374 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2019-02-14 16:25:23,385 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:23,385 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_139|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_139| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_139| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_139| ULTIMATE.start_main_p5) 1) (= (select |v_#memory_int_139| ULTIMATE.start_main_p4) 0) (= .cse0 0) (= (store |v_#memory_int_139| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:25:23,385 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:25:23,443 INFO L273 TraceCheckUtils]: 0: Hoare triple {6584#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {6592#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:25:23,446 INFO L273 TraceCheckUtils]: 1: Hoare triple {6592#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6596#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-14 16:25:23,450 INFO L273 TraceCheckUtils]: 2: Hoare triple {6596#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {6600#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-14 16:25:23,451 INFO L273 TraceCheckUtils]: 3: Hoare triple {6600#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {6600#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-14 16:25:23,452 INFO L273 TraceCheckUtils]: 4: Hoare triple {6600#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p2] <= 0); {6585#false} is VALID [2019-02-14 16:25:23,452 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:25:23,453 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:25:23,487 INFO L273 TraceCheckUtils]: 4: Hoare triple {6607#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {6585#false} is VALID [2019-02-14 16:25:23,488 INFO L273 TraceCheckUtils]: 3: Hoare triple {6607#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {6607#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:25:23,489 INFO L273 TraceCheckUtils]: 2: Hoare triple {6614#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {6607#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:25:23,490 INFO L273 TraceCheckUtils]: 1: Hoare triple {6618#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {6614#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2019-02-14 16:25:23,493 INFO L273 TraceCheckUtils]: 0: Hoare triple {6584#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {6618#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2019-02-14 16:25:23,493 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:25:23,512 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:25:23,513 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-14 16:25:23,513 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:25:23,513 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-14 16:25:23,513 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:25:23,513 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-14 16:25:23,531 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:25:23,531 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-14 16:25:23,531 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-14 16:25:23,532 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=65, Unknown=0, NotChecked=0, Total=110 [2019-02-14 16:25:23,532 INFO L87 Difference]: Start difference. First operand 52 states and 211 transitions. Second operand 8 states. [2019-02-14 16:25:25,747 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:25:25,747 INFO L93 Difference]: Finished difference Result 85 states and 266 transitions. [2019-02-14 16:25:25,747 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-14 16:25:25,747 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-14 16:25:25,747 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:25:25,747 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:25:25,747 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 68 transitions. [2019-02-14 16:25:25,748 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:25:25,748 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 68 transitions. [2019-02-14 16:25:25,748 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 68 transitions. [2019-02-14 16:25:25,843 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:25:25,846 INFO L225 Difference]: With dead ends: 85 [2019-02-14 16:25:25,846 INFO L226 Difference]: Without dead ends: 84 [2019-02-14 16:25:25,847 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=53, Invalid=79, Unknown=0, NotChecked=0, Total=132 [2019-02-14 16:25:25,847 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 84 states. [2019-02-14 16:25:26,552 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 84 to 54. [2019-02-14 16:25:26,552 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:25:26,552 INFO L82 GeneralOperation]: Start isEquivalent. First operand 84 states. Second operand 54 states. [2019-02-14 16:25:26,552 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand 54 states. [2019-02-14 16:25:26,552 INFO L87 Difference]: Start difference. First operand 84 states. Second operand 54 states. [2019-02-14 16:25:26,554 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:25:26,554 INFO L93 Difference]: Finished difference Result 84 states and 264 transitions. [2019-02-14 16:25:26,554 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 264 transitions. [2019-02-14 16:25:26,554 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:25:26,554 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:25:26,554 INFO L74 IsIncluded]: Start isIncluded. First operand 54 states. Second operand 84 states. [2019-02-14 16:25:26,554 INFO L87 Difference]: Start difference. First operand 54 states. Second operand 84 states. [2019-02-14 16:25:26,556 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:25:26,556 INFO L93 Difference]: Finished difference Result 84 states and 264 transitions. [2019-02-14 16:25:26,556 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 264 transitions. [2019-02-14 16:25:26,556 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:25:26,556 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:25:26,556 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:25:26,556 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:25:26,557 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 54 states. [2019-02-14 16:25:26,558 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 223 transitions. [2019-02-14 16:25:26,558 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 223 transitions. Word has length 5 [2019-02-14 16:25:26,558 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:25:26,558 INFO L480 AbstractCegarLoop]: Abstraction has 54 states and 223 transitions. [2019-02-14 16:25:26,558 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-14 16:25:26,558 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 223 transitions. [2019-02-14 16:25:26,559 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-14 16:25:26,559 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:25:26,559 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-14 16:25:26,559 INFO L423 AbstractCegarLoop]: === Iteration 29 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:25:26,559 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:25:26,560 INFO L82 PathProgramCache]: Analyzing trace with hash 29235038, now seen corresponding path program 1 times [2019-02-14 16:25:26,560 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:25:26,560 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:25:26,561 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:25:26,561 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:25:26,561 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:25:26,566 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:25:26,754 INFO L273 TraceCheckUtils]: 0: Hoare triple {7001#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {7003#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:25:26,755 INFO L273 TraceCheckUtils]: 1: Hoare triple {7003#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7004#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:25:26,756 INFO L273 TraceCheckUtils]: 2: Hoare triple {7004#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7005#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:25:26,757 INFO L273 TraceCheckUtils]: 3: Hoare triple {7005#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {7006#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-14 16:25:26,758 INFO L273 TraceCheckUtils]: 4: Hoare triple {7006#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {7002#false} is VALID [2019-02-14 16:25:26,758 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:25:26,759 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:25:26,759 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:25:26,759 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-02-14 16:25:26,759 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [20], [23] [2019-02-14 16:25:26,761 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:25:26,761 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:25:26,768 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:25:26,768 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-14 16:25:26,769 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:25:26,769 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:25:26,769 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:25:26,769 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 27 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 27 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:25:26,778 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:25:26,778 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:25:26,782 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:25:26,790 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:25:26,790 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:25:26,807 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 [2019-02-14 16:25:26,814 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:26,815 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 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 [2019-02-14 16:25:26,825 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:26,827 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:26,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, 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 [2019-02-14 16:25:26,842 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:26,843 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:26,844 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:26,845 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 [2019-02-14 16:25:26,864 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:26,865 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:26,866 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:26,868 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:26,869 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2019-02-14 16:25:26,873 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:26,901 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:26,917 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:26,929 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:26,941 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:26,964 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. [2019-02-14 16:25:26,964 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-14 16:25:26,972 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:26,972 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_142|, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_142| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:25:26,972 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:25:27,032 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:27,033 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:27,035 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:27,036 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:27,037 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:27,038 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:27,040 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:27,041 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:27,042 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:27,043 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:27,044 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:27,045 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2019-02-14 16:25:27,048 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:27,096 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:25:27,096 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-14 16:25:29,102 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:29,103 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_143|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_143| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_143| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_143| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_143| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 .cse0) (= 0 (select |v_#memory_int_143| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store |v_#memory_int_143| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|))) [2019-02-14 16:25:29,103 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:25:29,196 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:29,198 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:29,199 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:29,200 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:29,202 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:29,203 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:29,205 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:29,206 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:29,207 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:29,209 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:29,210 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:29,211 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:29,213 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:29,214 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 86 [2019-02-14 16:25:29,218 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:29,271 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:25:29,272 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-14 16:25:29,316 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:29,316 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_144|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_144| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_144| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_144| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_144| ULTIMATE.start_main_p1) 0) (= 1 (select |v_#memory_int_144| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_144| ULTIMATE.start_main_p4)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:25:29,316 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:25:29,385 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:29,386 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:29,387 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:29,388 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:29,389 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:29,391 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:29,392 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:29,394 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:29,395 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:29,397 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:29,398 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:29,399 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:29,401 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:29,402 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:29,402 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:25:29,404 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 98 [2019-02-14 16:25:29,408 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:29,515 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:25:29,516 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-14 16:25:30,251 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:30,251 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_145|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_145| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_145| ULTIMATE.start_main_p4)) (= 0 (+ (select |v_#memory_int_145| ULTIMATE.start_main_p2) 1)) (= 0 (select |v_#memory_int_145| ULTIMATE.start_main_p1)) (= 0 .cse0) (= 1 (select |v_#memory_int_145| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_145| ULTIMATE.start_main_p3 (+ .cse0 1))))) [2019-02-14 16:25:30,251 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-14 16:25:30,329 INFO L273 TraceCheckUtils]: 0: Hoare triple {7001#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {7010#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:25:30,332 INFO L273 TraceCheckUtils]: 1: Hoare triple {7010#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7014#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:25:30,334 INFO L273 TraceCheckUtils]: 2: Hoare triple {7014#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7018#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-14 16:25:30,338 INFO L273 TraceCheckUtils]: 3: Hoare triple {7018#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {7022#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-02-14 16:25:30,339 INFO L273 TraceCheckUtils]: 4: Hoare triple {7022#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {7002#false} is VALID [2019-02-14 16:25:30,340 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:25:30,340 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:25:30,408 INFO L273 TraceCheckUtils]: 4: Hoare triple {7026#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {7002#false} is VALID [2019-02-14 16:25:30,410 INFO L273 TraceCheckUtils]: 3: Hoare triple {7030#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {7026#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:25:30,411 INFO L273 TraceCheckUtils]: 2: Hoare triple {7034#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7030#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:25:30,413 INFO L273 TraceCheckUtils]: 1: Hoare triple {7038#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7034#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:25:30,415 INFO L273 TraceCheckUtils]: 0: Hoare triple {7001#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {7038#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:25:30,416 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:25:30,435 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:25:30,435 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2019-02-14 16:25:30,435 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:25:30,435 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-02-14 16:25:30,436 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:25:30,436 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-14 16:25:30,451 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:25:30,451 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-14 16:25:30,452 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-14 16:25:30,452 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=68, Invalid=114, Unknown=0, NotChecked=0, Total=182 [2019-02-14 16:25:30,452 INFO L87 Difference]: Start difference. First operand 54 states and 223 transitions. Second operand 10 states. [2019-02-14 16:25:32,936 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:25:32,936 INFO L93 Difference]: Finished difference Result 96 states and 303 transitions. [2019-02-14 16:25:32,936 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-14 16:25:32,937 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-02-14 16:25:32,937 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:25:32,937 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:25:32,938 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 71 transitions. [2019-02-14 16:25:32,938 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:25:32,938 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 71 transitions. [2019-02-14 16:25:32,938 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 71 transitions. [2019-02-14 16:25:33,116 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:25:33,117 INFO L225 Difference]: With dead ends: 96 [2019-02-14 16:25:33,118 INFO L226 Difference]: Without dead ends: 94 [2019-02-14 16:25:33,118 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 15 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 62 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=101, Invalid=171, Unknown=0, NotChecked=0, Total=272 [2019-02-14 16:25:33,118 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 94 states. [2019-02-14 16:25:33,781 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 94 to 61. [2019-02-14 16:25:33,781 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:25:33,781 INFO L82 GeneralOperation]: Start isEquivalent. First operand 94 states. Second operand 61 states. [2019-02-14 16:25:33,782 INFO L74 IsIncluded]: Start isIncluded. First operand 94 states. Second operand 61 states. [2019-02-14 16:25:33,782 INFO L87 Difference]: Start difference. First operand 94 states. Second operand 61 states. [2019-02-14 16:25:33,784 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:25:33,784 INFO L93 Difference]: Finished difference Result 94 states and 300 transitions. [2019-02-14 16:25:33,784 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 300 transitions. [2019-02-14 16:25:33,785 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:25:33,785 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:25:33,785 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand 94 states. [2019-02-14 16:25:33,785 INFO L87 Difference]: Start difference. First operand 61 states. Second operand 94 states. [2019-02-14 16:25:33,787 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:25:33,787 INFO L93 Difference]: Finished difference Result 94 states and 300 transitions. [2019-02-14 16:25:33,787 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 300 transitions. [2019-02-14 16:25:33,788 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:25:33,788 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:25:33,788 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:25:33,788 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:25:33,788 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 61 states. [2019-02-14 16:25:33,790 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 265 transitions. [2019-02-14 16:25:33,790 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 265 transitions. Word has length 5 [2019-02-14 16:25:33,790 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:25:33,790 INFO L480 AbstractCegarLoop]: Abstraction has 61 states and 265 transitions. [2019-02-14 16:25:33,790 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-14 16:25:33,790 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 265 transitions. [2019-02-14 16:25:33,791 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-14 16:25:33,791 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:25:33,791 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-14 16:25:33,791 INFO L423 AbstractCegarLoop]: === Iteration 30 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:25:33,791 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:25:33,792 INFO L82 PathProgramCache]: Analyzing trace with hash 29239194, now seen corresponding path program 1 times [2019-02-14 16:25:33,792 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:25:33,792 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:25:33,792 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:25:33,793 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:25:33,793 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:25:33,797 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:25:33,950 INFO L273 TraceCheckUtils]: 0: Hoare triple {7475#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {7477#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:25:33,952 INFO L273 TraceCheckUtils]: 1: Hoare triple {7477#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7478#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:25:33,953 INFO L273 TraceCheckUtils]: 2: Hoare triple {7478#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {7479#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:25:33,953 INFO L273 TraceCheckUtils]: 3: Hoare triple {7479#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {7479#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:25:33,954 INFO L273 TraceCheckUtils]: 4: Hoare triple {7479#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {7476#false} is VALID [2019-02-14 16:25:33,954 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:25:33,955 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:25:33,955 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:25:33,955 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-02-14 16:25:33,955 INFO L207 CegarAbsIntRunner]: [0], [14], [20], [24], [25] [2019-02-14 16:25:33,959 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:25:33,959 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:25:33,966 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:25:33,966 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-14 16:25:33,966 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:25:33,967 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:25:33,967 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:25:33,967 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 28 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 28 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:25:33,977 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:25:33,977 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:25:33,981 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:25:33,985 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:25:33,986 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:25:34,004 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 [2019-02-14 16:25:34,013 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 [2019-02-14 16:25:34,025 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:34,026 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-14 16:25:34,049 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:34,050 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:34,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, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-14 16:25:34,067 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:34,072 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:34,073 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:34,074 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 [2019-02-14 16:25:34,078 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:34,100 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:34,127 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:34,140 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:34,151 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:34,171 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:25:34,172 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:28, output treesize:35 [2019-02-14 16:25:34,182 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:34,182 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_149|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_149| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:25:34,182 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:25:34,239 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:34,241 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:34,242 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:34,243 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:34,244 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:34,246 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:34,247 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:34,248 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 [2019-02-14 16:25:34,251 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:34,282 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:25:34,282 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-02-14 16:25:36,290 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:36,290 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_150|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_150| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_150| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_150| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_150| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_150| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= .cse0 0))) [2019-02-14 16:25:36,290 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:25:36,369 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:36,396 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:36,423 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:36,447 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:36,479 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:36,500 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:36,521 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:36,523 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:36,523 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:25:36,523 INFO L303 Elim1Store]: Index analysis took 180 ms [2019-02-14 16:25:36,524 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 [2019-02-14 16:25:36,528 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:36,575 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:25:36,576 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2019-02-14 16:25:36,591 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:36,591 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_151|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_151| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_151| ULTIMATE.start_main_p4)) (= 0 .cse0) (= (select |v_#memory_int_151| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_151| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_151| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:25:36,591 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:25:36,652 INFO L273 TraceCheckUtils]: 0: Hoare triple {7475#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {7483#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:25:36,654 INFO L273 TraceCheckUtils]: 1: Hoare triple {7483#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7487#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:25:36,657 INFO L273 TraceCheckUtils]: 2: Hoare triple {7487#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {7491#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:25:36,658 INFO L273 TraceCheckUtils]: 3: Hoare triple {7491#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {7491#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:25:36,659 INFO L273 TraceCheckUtils]: 4: Hoare triple {7491#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {7476#false} is VALID [2019-02-14 16:25:36,660 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:25:36,660 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:25:36,700 INFO L273 TraceCheckUtils]: 4: Hoare triple {7498#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {7476#false} is VALID [2019-02-14 16:25:36,701 INFO L273 TraceCheckUtils]: 3: Hoare triple {7498#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {7498#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:25:36,702 INFO L273 TraceCheckUtils]: 2: Hoare triple {7505#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {7498#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:25:36,704 INFO L273 TraceCheckUtils]: 1: Hoare triple {7509#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {7505#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:25:36,706 INFO L273 TraceCheckUtils]: 0: Hoare triple {7475#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {7509#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:25:36,707 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:25:36,726 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:25:36,727 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-14 16:25:36,727 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:25:36,727 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-14 16:25:36,727 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:25:36,727 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-14 16:25:36,745 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:25:36,746 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-14 16:25:36,746 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-14 16:25:36,746 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=67, Unknown=0, NotChecked=0, Total=110 [2019-02-14 16:25:36,746 INFO L87 Difference]: Start difference. First operand 61 states and 265 transitions. Second operand 8 states. [2019-02-14 16:25:38,020 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:25:38,020 INFO L93 Difference]: Finished difference Result 82 states and 289 transitions. [2019-02-14 16:25:38,020 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-02-14 16:25:38,021 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-14 16:25:38,021 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:25:38,021 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:25:38,021 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 55 transitions. [2019-02-14 16:25:38,021 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:25:38,022 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 55 transitions. [2019-02-14 16:25:38,022 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 55 transitions. [2019-02-14 16:25:38,100 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:25:38,101 INFO L225 Difference]: With dead ends: 82 [2019-02-14 16:25:38,101 INFO L226 Difference]: Without dead ends: 81 [2019-02-14 16:25:38,102 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=61, Invalid=95, Unknown=0, NotChecked=0, Total=156 [2019-02-14 16:25:38,102 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 81 states. [2019-02-14 16:25:38,731 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 81 to 61. [2019-02-14 16:25:38,732 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:25:38,732 INFO L82 GeneralOperation]: Start isEquivalent. First operand 81 states. Second operand 61 states. [2019-02-14 16:25:38,732 INFO L74 IsIncluded]: Start isIncluded. First operand 81 states. Second operand 61 states. [2019-02-14 16:25:38,732 INFO L87 Difference]: Start difference. First operand 81 states. Second operand 61 states. [2019-02-14 16:25:38,734 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:25:38,735 INFO L93 Difference]: Finished difference Result 81 states and 287 transitions. [2019-02-14 16:25:38,735 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 287 transitions. [2019-02-14 16:25:38,735 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:25:38,735 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:25:38,735 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand 81 states. [2019-02-14 16:25:38,735 INFO L87 Difference]: Start difference. First operand 61 states. Second operand 81 states. [2019-02-14 16:25:38,737 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:25:38,737 INFO L93 Difference]: Finished difference Result 81 states and 287 transitions. [2019-02-14 16:25:38,737 INFO L276 IsEmpty]: Start isEmpty. Operand 81 states and 287 transitions. [2019-02-14 16:25:38,737 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:25:38,737 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:25:38,737 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:25:38,737 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:25:38,737 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 61 states. [2019-02-14 16:25:38,739 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 265 transitions. [2019-02-14 16:25:38,739 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 265 transitions. Word has length 5 [2019-02-14 16:25:38,739 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:25:38,739 INFO L480 AbstractCegarLoop]: Abstraction has 61 states and 265 transitions. [2019-02-14 16:25:38,739 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-14 16:25:38,739 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 265 transitions. [2019-02-14 16:25:38,739 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-14 16:25:38,739 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:25:38,739 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-14 16:25:38,740 INFO L423 AbstractCegarLoop]: === Iteration 31 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:25:38,740 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:25:38,740 INFO L82 PathProgramCache]: Analyzing trace with hash 28818276, now seen corresponding path program 1 times [2019-02-14 16:25:38,740 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:25:38,741 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:25:38,741 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:25:38,741 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:25:38,741 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:25:38,745 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:25:39,146 WARN L181 SmtUtils]: Spent 217.00 ms on a formula simplification. DAG size of input: 19 DAG size of output: 13 [2019-02-14 16:25:39,186 INFO L273 TraceCheckUtils]: 0: Hoare triple {7904#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {7906#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:25:39,187 INFO L273 TraceCheckUtils]: 1: Hoare triple {7906#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {7907#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:25:39,188 INFO L273 TraceCheckUtils]: 2: Hoare triple {7907#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7908#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:25:39,189 INFO L273 TraceCheckUtils]: 3: Hoare triple {7908#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {7908#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:25:39,189 INFO L273 TraceCheckUtils]: 4: Hoare triple {7908#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {7905#false} is VALID [2019-02-14 16:25:39,189 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:25:39,190 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:25:39,190 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:25:39,190 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-02-14 16:25:39,190 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [24], [25] [2019-02-14 16:25:39,191 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:25:39,191 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:25:39,201 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:25:39,201 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-14 16:25:39,201 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:25:39,201 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:25:39,201 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:25:39,202 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 29 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 29 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:25:39,211 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:25:39,211 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:25:39,215 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:25:39,218 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:25:39,219 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:25:39,266 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 [2019-02-14 16:25:39,272 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:39,273 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 [2019-02-14 16:25:39,284 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:39,286 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:39,287 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 [2019-02-14 16:25:39,300 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:39,302 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:39,303 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:39,304 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2019-02-14 16:25:39,323 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:39,324 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:39,326 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:39,327 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:39,328 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2019-02-14 16:25:39,331 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:39,360 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:39,377 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:39,390 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:39,401 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:39,425 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:25:39,426 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:31, output treesize:38 [2019-02-14 16:25:39,441 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:39,441 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_154|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= |#memory_int| (store (store (store (store (store |v_#memory_int_154| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:25:39,442 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:25:39,503 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:39,504 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:39,506 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:39,507 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:39,508 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:39,510 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:39,511 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:39,513 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:39,514 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:39,515 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:39,517 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:39,518 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2019-02-14 16:25:39,521 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:39,571 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:25:39,571 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-14 16:25:40,227 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:40,227 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_155|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_155| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_155| ULTIMATE.start_main_p1 (+ .cse0 1))) (= (select |v_#memory_int_155| ULTIMATE.start_main_p5) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_155| ULTIMATE.start_main_p4) 0) (= 0 (select |v_#memory_int_155| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_155| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:25:40,227 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:25:40,300 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:40,302 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:40,303 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:40,304 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:40,306 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:40,307 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:40,308 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:40,309 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:40,311 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:40,312 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:40,313 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:40,314 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:40,315 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:40,317 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 86 [2019-02-14 16:25:40,321 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:40,376 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:25:40,376 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-14 16:25:40,496 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:40,496 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_156|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_156| ULTIMATE.start_main_p2))) (and (= (store |v_#memory_int_156| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_156| ULTIMATE.start_main_p1) 1) (= (select |v_#memory_int_156| ULTIMATE.start_main_p5) 0) (= 0 (select |v_#memory_int_156| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |v_#memory_int_156| ULTIMATE.start_main_p3)))) [2019-02-14 16:25:40,496 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:25:40,572 INFO L273 TraceCheckUtils]: 0: Hoare triple {7904#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {7912#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:25:40,576 INFO L273 TraceCheckUtils]: 1: Hoare triple {7912#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {7916#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:25:40,579 INFO L273 TraceCheckUtils]: 2: Hoare triple {7916#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7920#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-14 16:25:40,580 INFO L273 TraceCheckUtils]: 3: Hoare triple {7920#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {7920#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-14 16:25:40,581 INFO L273 TraceCheckUtils]: 4: Hoare triple {7920#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p2] <= 0); {7905#false} is VALID [2019-02-14 16:25:40,581 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:25:40,581 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:25:40,605 INFO L273 TraceCheckUtils]: 4: Hoare triple {7908#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {7905#false} is VALID [2019-02-14 16:25:40,606 INFO L273 TraceCheckUtils]: 3: Hoare triple {7908#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {7908#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:25:40,606 INFO L273 TraceCheckUtils]: 2: Hoare triple {7933#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {7908#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:25:40,607 INFO L273 TraceCheckUtils]: 1: Hoare triple {7937#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {7933#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2019-02-14 16:25:40,610 INFO L273 TraceCheckUtils]: 0: Hoare triple {7904#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {7937#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2019-02-14 16:25:40,610 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:25:40,629 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:25:40,630 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2019-02-14 16:25:40,630 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:25:40,630 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-14 16:25:40,630 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:25:40,630 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-14 16:25:40,649 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:25:40,650 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-14 16:25:40,650 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-14 16:25:40,650 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=51, Unknown=0, NotChecked=0, Total=90 [2019-02-14 16:25:40,650 INFO L87 Difference]: Start difference. First operand 61 states and 265 transitions. Second operand 8 states. [2019-02-14 16:25:42,168 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:25:42,168 INFO L93 Difference]: Finished difference Result 87 states and 319 transitions. [2019-02-14 16:25:42,168 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-14 16:25:42,168 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-14 16:25:42,168 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:25:42,168 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:25:42,169 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 63 transitions. [2019-02-14 16:25:42,169 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:25:42,169 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 63 transitions. [2019-02-14 16:25:42,169 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 63 transitions. [2019-02-14 16:25:42,297 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:25:42,299 INFO L225 Difference]: With dead ends: 87 [2019-02-14 16:25:42,299 INFO L226 Difference]: Without dead ends: 86 [2019-02-14 16:25:42,299 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=47, Invalid=63, Unknown=0, NotChecked=0, Total=110 [2019-02-14 16:25:42,300 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2019-02-14 16:25:43,002 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 67. [2019-02-14 16:25:43,002 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:25:43,002 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand 67 states. [2019-02-14 16:25:43,003 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand 67 states. [2019-02-14 16:25:43,003 INFO L87 Difference]: Start difference. First operand 86 states. Second operand 67 states. [2019-02-14 16:25:43,005 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:25:43,006 INFO L93 Difference]: Finished difference Result 86 states and 317 transitions. [2019-02-14 16:25:43,006 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 317 transitions. [2019-02-14 16:25:43,006 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:25:43,006 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:25:43,006 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand 86 states. [2019-02-14 16:25:43,007 INFO L87 Difference]: Start difference. First operand 67 states. Second operand 86 states. [2019-02-14 16:25:43,008 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:25:43,008 INFO L93 Difference]: Finished difference Result 86 states and 317 transitions. [2019-02-14 16:25:43,008 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 317 transitions. [2019-02-14 16:25:43,009 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:25:43,009 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:25:43,009 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:25:43,009 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:25:43,009 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 67 states. [2019-02-14 16:25:43,010 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 302 transitions. [2019-02-14 16:25:43,010 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 302 transitions. Word has length 5 [2019-02-14 16:25:43,011 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:25:43,011 INFO L480 AbstractCegarLoop]: Abstraction has 67 states and 302 transitions. [2019-02-14 16:25:43,011 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-14 16:25:43,011 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 302 transitions. [2019-02-14 16:25:43,011 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-14 16:25:43,011 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:25:43,011 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-14 16:25:43,011 INFO L423 AbstractCegarLoop]: === Iteration 32 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:25:43,012 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:25:43,012 INFO L82 PathProgramCache]: Analyzing trace with hash 28822120, now seen corresponding path program 1 times [2019-02-14 16:25:43,012 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:25:43,012 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:25:43,012 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:25:43,013 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:25:43,013 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:25:43,017 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:25:43,175 INFO L273 TraceCheckUtils]: 0: Hoare triple {8362#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {8364#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:25:43,176 INFO L273 TraceCheckUtils]: 1: Hoare triple {8364#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {8364#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:25:43,177 INFO L273 TraceCheckUtils]: 2: Hoare triple {8364#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {8365#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2019-02-14 16:25:43,177 INFO L273 TraceCheckUtils]: 3: Hoare triple {8365#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {8366#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:25:43,178 INFO L273 TraceCheckUtils]: 4: Hoare triple {8366#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {8363#false} is VALID [2019-02-14 16:25:43,178 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-14 16:25:43,178 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:25:43,178 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:25:43,178 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-02-14 16:25:43,178 INFO L207 CegarAbsIntRunner]: [0], [6], [14], [24], [25] [2019-02-14 16:25:43,179 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:25:43,179 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:25:43,193 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:25:43,193 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-14 16:25:43,193 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:25:43,193 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:25:43,193 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:25:43,193 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 [2019-02-14 16:25:43,204 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:25:43,205 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:25:43,210 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:25:43,214 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:25:43,214 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:25:43,255 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 [2019-02-14 16:25:43,263 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:43,264 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 [2019-02-14 16:25:43,275 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:43,276 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:43,277 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 [2019-02-14 16:25:43,292 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:43,293 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:43,294 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:43,294 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2019-02-14 16:25:43,314 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:43,315 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:43,317 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:43,318 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:43,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, 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 [2019-02-14 16:25:43,323 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:43,369 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:43,393 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:43,406 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:43,418 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:43,442 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:25:43,442 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2019-02-14 16:25:43,451 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:43,451 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_159|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_159| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:25:43,451 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:25:43,511 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:43,512 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:43,513 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:43,515 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:43,516 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:43,517 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:43,518 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:43,520 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:43,521 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:43,522 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:43,523 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:43,524 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2019-02-14 16:25:43,528 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:43,578 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:25:43,578 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-14 16:25:43,593 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:43,593 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_160|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_160| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_160| ULTIMATE.start_main_p4) 0) (= (store |v_#memory_int_160| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_160| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_160| ULTIMATE.start_main_p5) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_160| ULTIMATE.start_main_p3) 0))) [2019-02-14 16:25:43,594 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:25:43,659 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:43,661 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:43,662 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:43,663 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:43,664 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:43,665 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:43,667 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:43,668 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:43,669 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:43,670 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:43,671 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:43,672 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:43,673 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:25:43,674 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 80 [2019-02-14 16:25:43,677 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:43,724 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:25:43,724 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-14 16:25:43,756 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:43,756 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_161|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_161| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_161| ULTIMATE.start_main_p4) 0) (= 0 (select |v_#memory_int_161| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_161| ULTIMATE.start_main_p5) 0) (= (store |v_#memory_int_161| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 1 (select |v_#memory_int_161| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= .cse0 0))) [2019-02-14 16:25:43,757 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:25:43,823 INFO L273 TraceCheckUtils]: 0: Hoare triple {8362#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {8370#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:25:43,836 INFO L273 TraceCheckUtils]: 1: Hoare triple {8370#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {8374#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:25:43,839 INFO L273 TraceCheckUtils]: 2: Hoare triple {8374#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {8378#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:25:43,840 INFO L273 TraceCheckUtils]: 3: Hoare triple {8378#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {8378#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:25:43,841 INFO L273 TraceCheckUtils]: 4: Hoare triple {8378#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {8363#false} is VALID [2019-02-14 16:25:43,841 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:25:43,841 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:25:43,879 INFO L273 TraceCheckUtils]: 4: Hoare triple {8385#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {8363#false} is VALID [2019-02-14 16:25:43,880 INFO L273 TraceCheckUtils]: 3: Hoare triple {8385#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {8385#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:25:43,881 INFO L273 TraceCheckUtils]: 2: Hoare triple {8392#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {8385#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:25:43,882 INFO L273 TraceCheckUtils]: 1: Hoare triple {8396#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {8392#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:25:43,884 INFO L273 TraceCheckUtils]: 0: Hoare triple {8362#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {8396#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:25:43,884 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:25:43,904 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:25:43,904 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-14 16:25:43,904 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:25:43,905 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-14 16:25:43,905 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:25:43,905 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-14 16:25:43,920 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:25:43,921 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-14 16:25:43,921 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-14 16:25:43,921 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=41, Invalid=69, Unknown=0, NotChecked=0, Total=110 [2019-02-14 16:25:43,922 INFO L87 Difference]: Start difference. First operand 67 states and 302 transitions. Second operand 8 states. [2019-02-14 16:25:45,535 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:25:45,536 INFO L93 Difference]: Finished difference Result 86 states and 334 transitions. [2019-02-14 16:25:45,536 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-02-14 16:25:45,536 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-14 16:25:45,536 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:25:45,536 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:25:45,537 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2019-02-14 16:25:45,537 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:25:45,537 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2019-02-14 16:25:45,537 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 54 transitions. [2019-02-14 16:25:45,620 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:25:45,622 INFO L225 Difference]: With dead ends: 86 [2019-02-14 16:25:45,622 INFO L226 Difference]: Without dead ends: 85 [2019-02-14 16:25:45,623 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 2 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 30 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=59, Invalid=97, Unknown=0, NotChecked=0, Total=156 [2019-02-14 16:25:45,623 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 85 states. [2019-02-14 16:25:46,368 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 85 to 69. [2019-02-14 16:25:46,369 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:25:46,369 INFO L82 GeneralOperation]: Start isEquivalent. First operand 85 states. Second operand 69 states. [2019-02-14 16:25:46,369 INFO L74 IsIncluded]: Start isIncluded. First operand 85 states. Second operand 69 states. [2019-02-14 16:25:46,369 INFO L87 Difference]: Start difference. First operand 85 states. Second operand 69 states. [2019-02-14 16:25:46,372 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:25:46,372 INFO L93 Difference]: Finished difference Result 85 states and 332 transitions. [2019-02-14 16:25:46,372 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 332 transitions. [2019-02-14 16:25:46,372 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:25:46,373 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:25:46,373 INFO L74 IsIncluded]: Start isIncluded. First operand 69 states. Second operand 85 states. [2019-02-14 16:25:46,373 INFO L87 Difference]: Start difference. First operand 69 states. Second operand 85 states. [2019-02-14 16:25:46,374 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:25:46,375 INFO L93 Difference]: Finished difference Result 85 states and 332 transitions. [2019-02-14 16:25:46,375 INFO L276 IsEmpty]: Start isEmpty. Operand 85 states and 332 transitions. [2019-02-14 16:25:46,375 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:25:46,375 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:25:46,375 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:25:46,375 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:25:46,375 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 69 states. [2019-02-14 16:25:46,377 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 314 transitions. [2019-02-14 16:25:46,377 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 314 transitions. Word has length 5 [2019-02-14 16:25:46,378 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:25:46,378 INFO L480 AbstractCegarLoop]: Abstraction has 69 states and 314 transitions. [2019-02-14 16:25:46,378 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-14 16:25:46,378 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 314 transitions. [2019-02-14 16:25:46,378 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-14 16:25:46,378 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:25:46,379 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-14 16:25:46,379 INFO L423 AbstractCegarLoop]: === Iteration 33 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:25:46,379 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:25:46,379 INFO L82 PathProgramCache]: Analyzing trace with hash 28947050, now seen corresponding path program 2 times [2019-02-14 16:25:46,379 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:25:46,380 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:25:46,380 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:25:46,380 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:25:46,380 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:25:46,384 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:25:46,609 INFO L273 TraceCheckUtils]: 0: Hoare triple {8827#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {8829#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2019-02-14 16:25:46,610 INFO L273 TraceCheckUtils]: 1: Hoare triple {8829#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {8830#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0))} is VALID [2019-02-14 16:25:46,611 INFO L273 TraceCheckUtils]: 2: Hoare triple {8830#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {8831#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:25:46,612 INFO L273 TraceCheckUtils]: 3: Hoare triple {8831#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {8831#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:25:46,612 INFO L273 TraceCheckUtils]: 4: Hoare triple {8831#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {8828#false} is VALID [2019-02-14 16:25:46,613 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:25:46,613 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:25:46,613 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:25:46,613 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2019-02-14 16:25:46,613 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2019-02-14 16:25:46,613 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:25:46,614 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 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 [2019-02-14 16:25:46,623 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2019-02-14 16:25:46,623 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2019-02-14 16:25:46,627 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2019-02-14 16:25:46,628 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2019-02-14 16:25:46,634 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:25:46,634 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:25:46,651 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 [2019-02-14 16:25:46,683 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 [2019-02-14 16:25:46,701 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:46,701 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-14 16:25:46,720 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:46,723 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:46,724 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-14 16:25:46,752 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:46,760 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:46,762 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:46,763 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 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 [2019-02-14 16:25:46,766 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:46,801 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:46,818 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:46,830 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:46,844 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:46,876 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:25:46,877 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:28, output treesize:35 [2019-02-14 16:25:46,887 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:46,887 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_164|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (= |#memory_int| (store (store (store (store (store |v_#memory_int_164| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:25:46,887 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:25:46,995 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:46,997 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:46,999 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:47,001 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:47,003 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:47,005 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:47,007 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:47,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 [2019-02-14 16:25:47,012 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:47,049 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:25:47,050 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-02-14 16:25:47,056 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:47,056 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_165|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_165| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_165| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_165| ULTIMATE.start_main_p5) 0) (= |#memory_int| (store |v_#memory_int_165| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_165| ULTIMATE.start_main_p3) 0))) [2019-02-14 16:25:47,056 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:25:47,097 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:47,099 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:47,100 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:47,101 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:47,103 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:47,104 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:47,105 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:47,106 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:47,108 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:47,109 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 [2019-02-14 16:25:47,111 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:47,146 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:25:47,146 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2019-02-14 16:25:49,233 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:49,233 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_166|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_166| ULTIMATE.start_main_p5))) (and (= 0 (select |v_#memory_int_166| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_166| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_166| ULTIMATE.start_main_p5 (+ .cse0 1))) (= (+ (select |v_#memory_int_166| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= .cse0 0))) [2019-02-14 16:25:49,233 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-14 16:25:49,352 INFO L273 TraceCheckUtils]: 0: Hoare triple {8827#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {8835#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:25:49,353 INFO L273 TraceCheckUtils]: 1: Hoare triple {8835#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {8839#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2019-02-14 16:25:49,356 INFO L273 TraceCheckUtils]: 2: Hoare triple {8839#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {8843#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:25:49,357 INFO L273 TraceCheckUtils]: 3: Hoare triple {8843#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {8843#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:25:49,357 INFO L273 TraceCheckUtils]: 4: Hoare triple {8843#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {8828#false} is VALID [2019-02-14 16:25:49,358 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:25:49,358 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:25:49,384 INFO L273 TraceCheckUtils]: 4: Hoare triple {8831#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {8828#false} is VALID [2019-02-14 16:25:49,385 INFO L273 TraceCheckUtils]: 3: Hoare triple {8831#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {8831#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:25:49,386 INFO L273 TraceCheckUtils]: 2: Hoare triple {8856#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {8831#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:25:49,387 INFO L273 TraceCheckUtils]: 1: Hoare triple {8860#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {8856#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:25:49,389 INFO L273 TraceCheckUtils]: 0: Hoare triple {8827#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {8860#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:25:49,389 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:25:49,409 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:25:49,409 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2019-02-14 16:25:49,409 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:25:49,409 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-14 16:25:49,409 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:25:49,409 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-14 16:25:49,425 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:25:49,425 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-14 16:25:49,425 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-14 16:25:49,425 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=51, Unknown=0, NotChecked=0, Total=90 [2019-02-14 16:25:49,426 INFO L87 Difference]: Start difference. First operand 69 states and 314 transitions. Second operand 8 states. [2019-02-14 16:25:51,545 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:25:51,545 INFO L93 Difference]: Finished difference Result 110 states and 397 transitions. [2019-02-14 16:25:51,545 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-02-14 16:25:51,545 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-14 16:25:51,546 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:25:51,546 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:25:51,546 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 70 transitions. [2019-02-14 16:25:51,546 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:25:51,547 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 70 transitions. [2019-02-14 16:25:51,547 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 70 transitions. [2019-02-14 16:25:51,648 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 70 edges. 70 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:25:51,651 INFO L225 Difference]: With dead ends: 110 [2019-02-14 16:25:51,651 INFO L226 Difference]: Without dead ends: 107 [2019-02-14 16:25:51,651 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 25 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=46, Invalid=64, Unknown=0, NotChecked=0, Total=110 [2019-02-14 16:25:51,652 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 107 states. [2019-02-14 16:25:52,598 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 107 to 78. [2019-02-14 16:25:52,599 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:25:52,599 INFO L82 GeneralOperation]: Start isEquivalent. First operand 107 states. Second operand 78 states. [2019-02-14 16:25:52,599 INFO L74 IsIncluded]: Start isIncluded. First operand 107 states. Second operand 78 states. [2019-02-14 16:25:52,599 INFO L87 Difference]: Start difference. First operand 107 states. Second operand 78 states. [2019-02-14 16:25:52,603 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:25:52,603 INFO L93 Difference]: Finished difference Result 107 states and 393 transitions. [2019-02-14 16:25:52,603 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 393 transitions. [2019-02-14 16:25:52,604 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:25:52,604 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:25:52,604 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand 107 states. [2019-02-14 16:25:52,604 INFO L87 Difference]: Start difference. First operand 78 states. Second operand 107 states. [2019-02-14 16:25:52,607 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:25:52,607 INFO L93 Difference]: Finished difference Result 107 states and 393 transitions. [2019-02-14 16:25:52,607 INFO L276 IsEmpty]: Start isEmpty. Operand 107 states and 393 transitions. [2019-02-14 16:25:52,608 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:25:52,608 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:25:52,608 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:25:52,608 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:25:52,608 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 78 states. [2019-02-14 16:25:52,610 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 360 transitions. [2019-02-14 16:25:52,610 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 360 transitions. Word has length 5 [2019-02-14 16:25:52,610 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:25:52,610 INFO L480 AbstractCegarLoop]: Abstraction has 78 states and 360 transitions. [2019-02-14 16:25:52,610 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-14 16:25:52,610 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 360 transitions. [2019-02-14 16:25:52,611 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-14 16:25:52,611 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:25:52,611 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-14 16:25:52,611 INFO L423 AbstractCegarLoop]: === Iteration 34 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:25:52,611 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:25:52,611 INFO L82 PathProgramCache]: Analyzing trace with hash 28950958, now seen corresponding path program 1 times [2019-02-14 16:25:52,611 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:25:52,612 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:25:52,612 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2019-02-14 16:25:52,612 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:25:52,612 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:25:52,616 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:25:52,835 INFO L273 TraceCheckUtils]: 0: Hoare triple {9381#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {9383#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:25:52,836 INFO L273 TraceCheckUtils]: 1: Hoare triple {9383#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9384#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-14 16:25:52,837 INFO L273 TraceCheckUtils]: 2: Hoare triple {9384#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p1] >= 0; {9384#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-14 16:25:52,837 INFO L273 TraceCheckUtils]: 3: Hoare triple {9384#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p2] <= 0; {9384#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-14 16:25:52,838 INFO L273 TraceCheckUtils]: 4: Hoare triple {9384#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {9382#false} is VALID [2019-02-14 16:25:52,838 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:25:52,838 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:25:52,839 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:25:52,839 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-02-14 16:25:52,839 INFO L207 CegarAbsIntRunner]: [0], [10], [24], [26], [27] [2019-02-14 16:25:52,841 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:25:52,841 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:25:52,855 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:25:52,855 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2019-02-14 16:25:52,855 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:25:52,856 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:25:52,856 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:25:52,856 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 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 [2019-02-14 16:25:52,864 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:25:52,864 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:25:52,867 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:25:52,872 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:25:52,872 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:25:52,891 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2019-02-14 16:25:52,899 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 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 [2019-02-14 16:25:52,912 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:52,913 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-14 16:25:52,928 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:52,929 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:52,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, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-14 16:25:52,945 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:52,951 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:52,952 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:52,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, 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 [2019-02-14 16:25:52,962 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:52,984 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:52,997 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:53,007 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:53,019 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:53,039 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:25:53,039 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:28, output treesize:35 [2019-02-14 16:25:53,049 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:53,050 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_169|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_169| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:25:53,050 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:25:53,106 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:53,108 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:53,109 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:53,111 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:53,112 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:53,113 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:53,114 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:53,115 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 [2019-02-14 16:25:53,118 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:53,151 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:25:53,151 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2019-02-14 16:25:55,156 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:55,156 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_170|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_170| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (select |v_#memory_int_170| ULTIMATE.start_main_p4) 0) (= |#memory_int| (store |v_#memory_int_170| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_170| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |v_#memory_int_170| ULTIMATE.start_main_p5)))) [2019-02-14 16:25:55,156 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:25:55,225 INFO L273 TraceCheckUtils]: 0: Hoare triple {9381#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {9388#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:25:55,227 INFO L273 TraceCheckUtils]: 1: Hoare triple {9388#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9392#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-14 16:25:55,228 INFO L273 TraceCheckUtils]: 2: Hoare triple {9392#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p1] >= 0; {9392#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-14 16:25:55,229 INFO L273 TraceCheckUtils]: 3: Hoare triple {9392#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p2] <= 0; {9392#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-14 16:25:55,230 INFO L273 TraceCheckUtils]: 4: Hoare triple {9392#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume !(#memory_int[main_p3] >= 0); {9382#false} is VALID [2019-02-14 16:25:55,230 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:25:55,231 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:25:55,260 INFO L273 TraceCheckUtils]: 4: Hoare triple {9402#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {9382#false} is VALID [2019-02-14 16:25:55,260 INFO L273 TraceCheckUtils]: 3: Hoare triple {9402#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {9402#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:25:55,261 INFO L273 TraceCheckUtils]: 2: Hoare triple {9402#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {9402#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:25:55,262 INFO L273 TraceCheckUtils]: 1: Hoare triple {9412#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9402#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:25:55,264 INFO L273 TraceCheckUtils]: 0: Hoare triple {9381#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {9412#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:25:55,264 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:25:55,283 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:25:55,284 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [2, 2, 2] total 6 [2019-02-14 16:25:55,284 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:25:55,284 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 5 [2019-02-14 16:25:55,284 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:25:55,284 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states. [2019-02-14 16:25:55,300 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:25:55,300 INFO L459 AbstractCegarLoop]: Interpolant automaton has 6 states [2019-02-14 16:25:55,300 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2019-02-14 16:25:55,301 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=24, Invalid=32, Unknown=0, NotChecked=0, Total=56 [2019-02-14 16:25:55,301 INFO L87 Difference]: Start difference. First operand 78 states and 360 transitions. Second operand 6 states. [2019-02-14 16:25:56,768 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:25:56,768 INFO L93 Difference]: Finished difference Result 87 states and 367 transitions. [2019-02-14 16:25:56,768 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2019-02-14 16:25:56,768 INFO L78 Accepts]: Start accepts. Automaton has 6 states. Word has length 5 [2019-02-14 16:25:56,768 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:25:56,769 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-14 16:25:56,769 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2019-02-14 16:25:56,769 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-14 16:25:56,769 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 42 transitions. [2019-02-14 16:25:56,769 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 42 transitions. [2019-02-14 16:25:56,822 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:25:56,824 INFO L225 Difference]: With dead ends: 87 [2019-02-14 16:25:56,824 INFO L226 Difference]: Without dead ends: 86 [2019-02-14 16:25:56,825 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=31, Invalid=41, Unknown=0, NotChecked=0, Total=72 [2019-02-14 16:25:56,825 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2019-02-14 16:25:57,846 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 76. [2019-02-14 16:25:57,847 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:25:57,847 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand 76 states. [2019-02-14 16:25:57,847 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand 76 states. [2019-02-14 16:25:57,847 INFO L87 Difference]: Start difference. First operand 86 states. Second operand 76 states. [2019-02-14 16:25:57,850 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:25:57,850 INFO L93 Difference]: Finished difference Result 86 states and 365 transitions. [2019-02-14 16:25:57,850 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 365 transitions. [2019-02-14 16:25:57,851 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:25:57,851 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:25:57,851 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 86 states. [2019-02-14 16:25:57,851 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 86 states. [2019-02-14 16:25:57,853 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:25:57,853 INFO L93 Difference]: Finished difference Result 86 states and 365 transitions. [2019-02-14 16:25:57,854 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 365 transitions. [2019-02-14 16:25:57,854 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:25:57,854 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:25:57,854 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:25:57,854 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:25:57,854 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 76 states. [2019-02-14 16:25:57,856 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 357 transitions. [2019-02-14 16:25:57,857 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 357 transitions. Word has length 5 [2019-02-14 16:25:57,857 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:25:57,857 INFO L480 AbstractCegarLoop]: Abstraction has 76 states and 357 transitions. [2019-02-14 16:25:57,857 INFO L481 AbstractCegarLoop]: Interpolant automaton has 6 states. [2019-02-14 16:25:57,857 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 357 transitions. [2019-02-14 16:25:57,857 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-14 16:25:57,857 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:25:57,858 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-14 16:25:57,858 INFO L423 AbstractCegarLoop]: === Iteration 35 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:25:57,858 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:25:57,858 INFO L82 PathProgramCache]: Analyzing trace with hash 29052324, now seen corresponding path program 1 times [2019-02-14 16:25:57,858 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:25:57,859 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:25:57,859 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:25:57,859 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:25:57,859 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:25:57,862 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:25:58,014 INFO L273 TraceCheckUtils]: 0: Hoare triple {9864#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {9866#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:25:58,015 INFO L273 TraceCheckUtils]: 1: Hoare triple {9866#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {9867#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2019-02-14 16:25:58,016 INFO L273 TraceCheckUtils]: 2: Hoare triple {9867#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {9868#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:25:58,017 INFO L273 TraceCheckUtils]: 3: Hoare triple {9868#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9869#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:25:58,017 INFO L273 TraceCheckUtils]: 4: Hoare triple {9869#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {9865#false} is VALID [2019-02-14 16:25:58,017 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:25:58,017 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:25:58,017 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:25:58,018 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-02-14 16:25:58,018 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [14], [23] [2019-02-14 16:25:58,019 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:25:58,019 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:25:58,025 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:25:58,025 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-14 16:25:58,026 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:25:58,026 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:25:58,026 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:25:58,026 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 [2019-02-14 16:25:58,036 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:25:58,036 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:25:58,041 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:25:58,045 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:25:58,045 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:25:58,079 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 [2019-02-14 16:25:58,085 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:58,086 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 [2019-02-14 16:25:58,096 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:58,098 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:58,098 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 [2019-02-14 16:25:58,114 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:58,116 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:58,117 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:58,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 [2019-02-14 16:25:58,137 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:58,139 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:58,140 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:58,142 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:58,142 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 [2019-02-14 16:25:58,148 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:58,179 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:58,196 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:58,209 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:58,221 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:25:58,242 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:25:58,243 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2019-02-14 16:25:58,251 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:25:58,251 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_172|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store (store (store (store (store |v_#memory_int_172| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0))) [2019-02-14 16:25:58,251 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:25:58,316 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:58,317 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:58,319 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:58,320 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:58,362 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:58,384 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:58,397 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:58,398 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:58,403 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:58,403 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:58,404 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:25:58,405 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2019-02-14 16:25:58,408 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:25:58,457 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:25:58,457 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-14 16:26:00,465 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:00,465 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_173|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_173| ULTIMATE.start_main_p3))) (and (= 0 (select |v_#memory_int_173| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_173| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_173| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_173| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_173| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 .cse0))) [2019-02-14 16:26:00,465 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:26:00,542 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:00,544 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:00,545 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:00,546 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:00,548 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:00,549 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:00,550 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:00,551 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:00,561 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:00,562 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:00,563 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:00,563 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:00,564 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:26:00,564 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 80 [2019-02-14 16:26:00,568 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:26:00,617 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:26:00,617 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-14 16:26:00,629 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:00,629 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_174|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_174| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (store |v_#memory_int_174| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_174| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_174| ULTIMATE.start_main_p3) 1) (= 0 (select |v_#memory_int_174| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_174| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:26:00,629 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:26:00,690 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:00,691 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:00,692 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:00,692 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:00,694 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:00,695 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:00,696 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:00,698 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:00,699 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:00,700 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:00,701 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:00,703 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:00,704 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:00,705 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 86 [2019-02-14 16:26:00,708 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:26:00,762 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:26:00,763 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-14 16:26:00,785 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:00,786 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_175|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_175| ULTIMATE.start_main_p2))) (and (= 1 (select |v_#memory_int_175| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= |#memory_int| (store |v_#memory_int_175| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 1 (select |v_#memory_int_175| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_175| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_175| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:26:00,786 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:26:00,834 INFO L273 TraceCheckUtils]: 0: Hoare triple {9864#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {9873#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:26:00,836 INFO L273 TraceCheckUtils]: 1: Hoare triple {9873#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {9877#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:26:00,840 INFO L273 TraceCheckUtils]: 2: Hoare triple {9877#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {9881#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:26:00,845 INFO L273 TraceCheckUtils]: 3: Hoare triple {9881#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9885#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-02-14 16:26:00,846 INFO L273 TraceCheckUtils]: 4: Hoare triple {9885#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {9865#false} is VALID [2019-02-14 16:26:00,846 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:26:00,847 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:26:00,910 INFO L273 TraceCheckUtils]: 4: Hoare triple {9889#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {9865#false} is VALID [2019-02-14 16:26:00,911 INFO L273 TraceCheckUtils]: 3: Hoare triple {9893#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {9889#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:26:00,912 INFO L273 TraceCheckUtils]: 2: Hoare triple {9897#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {9893#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:26:00,914 INFO L273 TraceCheckUtils]: 1: Hoare triple {9901#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {9897#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:26:00,916 INFO L273 TraceCheckUtils]: 0: Hoare triple {9864#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {9901#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:26:00,917 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 5 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:26:00,937 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:26:00,937 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2019-02-14 16:26:00,937 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:26:00,937 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-02-14 16:26:00,937 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:26:00,937 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-14 16:26:00,955 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:26:00,955 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-14 16:26:00,956 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-14 16:26:00,956 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2019-02-14 16:26:00,956 INFO L87 Difference]: Start difference. First operand 76 states and 357 transitions. Second operand 10 states. [2019-02-14 16:26:03,850 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:26:03,851 INFO L93 Difference]: Finished difference Result 133 states and 461 transitions. [2019-02-14 16:26:03,851 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-02-14 16:26:03,851 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 5 [2019-02-14 16:26:03,851 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:26:03,851 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:26:03,852 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 83 transitions. [2019-02-14 16:26:03,852 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:26:03,852 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 83 transitions. [2019-02-14 16:26:03,852 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 83 transitions. [2019-02-14 16:26:04,039 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:26:04,042 INFO L225 Difference]: With dead ends: 133 [2019-02-14 16:26:04,042 INFO L226 Difference]: Without dead ends: 132 [2019-02-14 16:26:04,043 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=89, Invalid=151, Unknown=0, NotChecked=0, Total=240 [2019-02-14 16:26:04,043 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 132 states. [2019-02-14 16:26:04,887 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 132 to 75. [2019-02-14 16:26:04,887 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:26:04,887 INFO L82 GeneralOperation]: Start isEquivalent. First operand 132 states. Second operand 75 states. [2019-02-14 16:26:04,887 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand 75 states. [2019-02-14 16:26:04,887 INFO L87 Difference]: Start difference. First operand 132 states. Second operand 75 states. [2019-02-14 16:26:04,891 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:26:04,891 INFO L93 Difference]: Finished difference Result 132 states and 459 transitions. [2019-02-14 16:26:04,891 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 459 transitions. [2019-02-14 16:26:04,891 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:26:04,891 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:26:04,892 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand 132 states. [2019-02-14 16:26:04,892 INFO L87 Difference]: Start difference. First operand 75 states. Second operand 132 states. [2019-02-14 16:26:04,895 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:26:04,895 INFO L93 Difference]: Finished difference Result 132 states and 459 transitions. [2019-02-14 16:26:04,895 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 459 transitions. [2019-02-14 16:26:04,895 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:26:04,895 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:26:04,895 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:26:04,896 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:26:04,896 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 75 states. [2019-02-14 16:26:04,897 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 351 transitions. [2019-02-14 16:26:04,897 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 351 transitions. Word has length 5 [2019-02-14 16:26:04,897 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:26:04,897 INFO L480 AbstractCegarLoop]: Abstraction has 75 states and 351 transitions. [2019-02-14 16:26:04,898 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-14 16:26:04,898 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 351 transitions. [2019-02-14 16:26:04,898 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2019-02-14 16:26:04,898 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:26:04,898 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2019-02-14 16:26:04,898 INFO L423 AbstractCegarLoop]: === Iteration 36 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:26:04,899 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:26:04,899 INFO L82 PathProgramCache]: Analyzing trace with hash 29056604, now seen corresponding path program 1 times [2019-02-14 16:26:04,899 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:26:04,899 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:26:04,899 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:26:04,899 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:26:04,899 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:26:04,902 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:26:05,025 INFO L273 TraceCheckUtils]: 0: Hoare triple {10501#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {10503#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:26:05,026 INFO L273 TraceCheckUtils]: 1: Hoare triple {10503#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {10504#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:26:05,027 INFO L273 TraceCheckUtils]: 2: Hoare triple {10504#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {10505#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2019-02-14 16:26:05,028 INFO L273 TraceCheckUtils]: 3: Hoare triple {10505#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume #memory_int[main_p1] >= 0; {10505#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2019-02-14 16:26:05,029 INFO L273 TraceCheckUtils]: 4: Hoare triple {10505#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {10502#false} is VALID [2019-02-14 16:26:05,029 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:26:05,029 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:26:05,029 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:26:05,029 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 6 with the following transitions: [2019-02-14 16:26:05,030 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [24], [25] [2019-02-14 16:26:05,030 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:26:05,031 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:26:05,053 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:26:05,053 INFO L272 AbstractInterpreter]: Visited 5 different actions 5 times. Never merged. Never widened. Performed 66 root evaluator evaluations with a maximum evaluation depth of 3. Performed 66 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-14 16:26:05,054 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:26:05,054 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:26:05,054 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:26:05,054 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 [2019-02-14 16:26:05,064 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:26:05,064 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:26:05,069 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:26:05,073 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:26:05,073 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:26:05,094 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 [2019-02-14 16:26:05,102 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 [2019-02-14 16:26:05,112 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:05,113 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-14 16:26:05,128 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:05,130 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:05,131 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-14 16:26:05,146 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:05,150 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:05,151 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:05,152 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 [2019-02-14 16:26:05,155 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:26:05,178 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:26:05,191 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:26:05,202 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:26:05,215 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:26:05,235 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:26:05,236 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:28, output treesize:35 [2019-02-14 16:26:05,245 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:05,246 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_179|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_179| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:26:05,246 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:26:05,304 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:05,308 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:05,309 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:05,310 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:05,311 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:05,311 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:05,313 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:05,314 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 [2019-02-14 16:26:05,316 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:26:05,348 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:26:05,349 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2019-02-14 16:26:07,366 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:07,366 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_180|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_180| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_180| ULTIMATE.start_main_p2) 0) (= |#memory_int| (store |v_#memory_int_180| ULTIMATE.start_main_p3 (+ .cse0 1))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 0 (select |v_#memory_int_180| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_180| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:26:07,367 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:26:07,456 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:07,458 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:07,460 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:07,462 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:07,464 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:07,466 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:07,468 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:07,477 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:07,517 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:07,518 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 [2019-02-14 16:26:07,520 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:26:07,556 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:26:07,557 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2019-02-14 16:26:07,571 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:07,571 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_181|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_181| ULTIMATE.start_main_p2))) (and (= 1 (select |v_#memory_int_181| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 .cse0) (= (select |v_#memory_int_181| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_181| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store |v_#memory_int_181| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))))) [2019-02-14 16:26:07,571 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:26:07,623 INFO L273 TraceCheckUtils]: 0: Hoare triple {10501#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {10509#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:26:07,625 INFO L273 TraceCheckUtils]: 1: Hoare triple {10509#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {10513#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:26:07,626 INFO L273 TraceCheckUtils]: 2: Hoare triple {10513#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {10517#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2019-02-14 16:26:07,627 INFO L273 TraceCheckUtils]: 3: Hoare triple {10517#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume #memory_int[main_p1] >= 0; {10517#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2019-02-14 16:26:07,628 INFO L273 TraceCheckUtils]: 4: Hoare triple {10517#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume !(#memory_int[main_p2] <= 0); {10502#false} is VALID [2019-02-14 16:26:07,628 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:26:07,628 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:26:07,662 INFO L273 TraceCheckUtils]: 4: Hoare triple {10524#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {10502#false} is VALID [2019-02-14 16:26:07,663 INFO L273 TraceCheckUtils]: 3: Hoare triple {10524#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {10524#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:26:07,663 INFO L273 TraceCheckUtils]: 2: Hoare triple {10531#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {10524#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:26:07,664 INFO L273 TraceCheckUtils]: 1: Hoare triple {10535#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {10531#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2019-02-14 16:26:07,667 INFO L273 TraceCheckUtils]: 0: Hoare triple {10501#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {10535#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2019-02-14 16:26:07,667 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:26:07,687 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:26:07,687 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-14 16:26:07,687 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:26:07,688 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-14 16:26:07,688 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:26:07,688 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-14 16:26:07,705 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:26:07,705 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-14 16:26:07,705 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-14 16:26:07,706 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=65, Unknown=0, NotChecked=0, Total=110 [2019-02-14 16:26:07,706 INFO L87 Difference]: Start difference. First operand 75 states and 351 transitions. Second operand 8 states. [2019-02-14 16:26:09,427 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:26:09,427 INFO L93 Difference]: Finished difference Result 113 states and 411 transitions. [2019-02-14 16:26:09,427 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-14 16:26:09,428 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 5 [2019-02-14 16:26:09,428 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:26:09,428 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:26:09,428 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 68 transitions. [2019-02-14 16:26:09,428 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:26:09,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 68 transitions. [2019-02-14 16:26:09,429 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 68 transitions. [2019-02-14 16:26:09,526 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:26:09,528 INFO L225 Difference]: With dead ends: 113 [2019-02-14 16:26:09,528 INFO L226 Difference]: Without dead ends: 112 [2019-02-14 16:26:09,529 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=53, Invalid=79, Unknown=0, NotChecked=0, Total=132 [2019-02-14 16:26:09,529 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 112 states. [2019-02-14 16:26:10,351 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 112 to 77. [2019-02-14 16:26:10,351 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:26:10,351 INFO L82 GeneralOperation]: Start isEquivalent. First operand 112 states. Second operand 77 states. [2019-02-14 16:26:10,352 INFO L74 IsIncluded]: Start isIncluded. First operand 112 states. Second operand 77 states. [2019-02-14 16:26:10,352 INFO L87 Difference]: Start difference. First operand 112 states. Second operand 77 states. [2019-02-14 16:26:10,355 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:26:10,356 INFO L93 Difference]: Finished difference Result 112 states and 409 transitions. [2019-02-14 16:26:10,356 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 409 transitions. [2019-02-14 16:26:10,356 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:26:10,356 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:26:10,356 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 112 states. [2019-02-14 16:26:10,356 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 112 states. [2019-02-14 16:26:10,358 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:26:10,359 INFO L93 Difference]: Finished difference Result 112 states and 409 transitions. [2019-02-14 16:26:10,359 INFO L276 IsEmpty]: Start isEmpty. Operand 112 states and 409 transitions. [2019-02-14 16:26:10,359 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:26:10,359 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:26:10,359 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:26:10,359 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:26:10,359 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2019-02-14 16:26:10,361 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 363 transitions. [2019-02-14 16:26:10,361 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 363 transitions. Word has length 5 [2019-02-14 16:26:10,361 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:26:10,361 INFO L480 AbstractCegarLoop]: Abstraction has 77 states and 363 transitions. [2019-02-14 16:26:10,361 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-14 16:26:10,361 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 363 transitions. [2019-02-14 16:26:10,361 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-14 16:26:10,361 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:26:10,362 INFO L402 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1] [2019-02-14 16:26:10,362 INFO L423 AbstractCegarLoop]: === Iteration 37 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:26:10,362 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:26:10,362 INFO L82 PathProgramCache]: Analyzing trace with hash 904669396, now seen corresponding path program 2 times [2019-02-14 16:26:10,362 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:26:10,363 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:26:10,363 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:26:10,363 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:26:10,363 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:26:10,366 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:26:10,586 INFO L273 TraceCheckUtils]: 0: Hoare triple {11071#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {11073#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2019-02-14 16:26:10,587 INFO L273 TraceCheckUtils]: 1: Hoare triple {11073#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11073#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2019-02-14 16:26:10,588 INFO L273 TraceCheckUtils]: 2: Hoare triple {11073#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11074#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} is VALID [2019-02-14 16:26:10,589 INFO L273 TraceCheckUtils]: 3: Hoare triple {11074#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {11075#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:26:10,589 INFO L273 TraceCheckUtils]: 4: Hoare triple {11075#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {11076#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:26:10,590 INFO L273 TraceCheckUtils]: 5: Hoare triple {11076#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {11072#false} is VALID [2019-02-14 16:26:10,590 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-14 16:26:10,590 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:26:10,590 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:26:10,590 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2019-02-14 16:26:10,590 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2019-02-14 16:26:10,590 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:26:10,591 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 [2019-02-14 16:26:10,600 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2019-02-14 16:26:10,600 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2019-02-14 16:26:10,607 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2019-02-14 16:26:10,607 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2019-02-14 16:26:10,610 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:26:10,611 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:26:10,633 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 [2019-02-14 16:26:10,657 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:10,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, 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 [2019-02-14 16:26:10,670 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:10,671 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:10,672 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 [2019-02-14 16:26:10,712 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:10,713 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:10,714 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:10,715 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 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 [2019-02-14 16:26:10,733 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:10,735 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:10,735 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:10,736 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:10,737 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 [2019-02-14 16:26:10,740 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:26:10,771 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:26:10,788 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:26:10,799 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:26:10,811 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:26:10,832 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:26:10,832 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2019-02-14 16:26:10,840 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:10,840 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_184|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_184| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:26:10,840 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:26:10,953 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:10,955 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:10,956 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:10,957 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:10,958 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:10,960 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:10,961 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:10,962 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:10,963 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:10,965 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:10,966 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:10,967 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2019-02-14 16:26:10,972 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:26:11,016 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:26:11,016 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-14 16:26:11,025 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:11,026 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_185|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_185| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_185| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_185| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_185| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_185| ULTIMATE.start_main_p1) 0) (= (store |v_#memory_int_185| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= .cse0 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:26:11,026 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:26:11,091 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,092 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,093 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,094 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,096 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,097 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,098 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,099 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,101 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,102 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,103 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,104 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,105 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,106 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 78 [2019-02-14 16:26:11,110 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:26:11,161 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:26:11,161 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:38 [2019-02-14 16:26:11,362 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:11,363 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_186|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_186| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_186| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_186| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_186| ULTIMATE.start_main_p3) 0) (= (+ .cse0 1) 0) (= (store |v_#memory_int_186| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_186| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:26:11,363 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:26:11,428 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,429 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,430 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,431 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,432 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,434 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,435 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,436 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,437 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,438 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,439 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,440 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,441 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,443 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 88 [2019-02-14 16:26:11,447 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:26:11,498 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:26:11,499 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-14 16:26:11,506 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:11,507 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_187|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_187| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_187| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_187| ULTIMATE.start_main_p5)) (= (+ (select |v_#memory_int_187| ULTIMATE.start_main_p4) 2) 0) (= (select |v_#memory_int_187| ULTIMATE.start_main_p3) 0) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_187| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:26:11,507 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0)) [2019-02-14 16:26:11,592 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,593 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,595 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,596 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,597 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,598 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,599 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,601 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,602 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,603 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,604 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,605 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,606 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,607 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,608 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,609 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:11,610 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 16 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 110 [2019-02-14 16:26:11,614 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:26:11,673 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:26:11,674 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-14 16:26:13,788 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:13,788 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_188|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_188| ULTIMATE.start_main_p2))) (and (= (store |v_#memory_int_188| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_188| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_188| ULTIMATE.start_main_p3)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |v_#memory_int_188| ULTIMATE.start_main_p4) 2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_188| ULTIMATE.start_main_p5)))) [2019-02-14 16:26:13,788 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0)) [2019-02-14 16:26:13,868 INFO L273 TraceCheckUtils]: 0: Hoare triple {11071#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {11080#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:26:13,870 INFO L273 TraceCheckUtils]: 1: Hoare triple {11080#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11084#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:26:13,873 INFO L273 TraceCheckUtils]: 2: Hoare triple {11084#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11088#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:26:13,875 INFO L273 TraceCheckUtils]: 3: Hoare triple {11088#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {11092#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:26:13,881 INFO L273 TraceCheckUtils]: 4: Hoare triple {11092#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {11096#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))))} is VALID [2019-02-14 16:26:13,882 INFO L273 TraceCheckUtils]: 5: Hoare triple {11096#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))))} assume !(#memory_int[main_p1] >= 0); {11072#false} is VALID [2019-02-14 16:26:13,883 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:26:13,883 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:26:13,963 INFO L273 TraceCheckUtils]: 5: Hoare triple {11100#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {11072#false} is VALID [2019-02-14 16:26:13,964 INFO L273 TraceCheckUtils]: 4: Hoare triple {11104#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {11100#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:26:13,965 INFO L273 TraceCheckUtils]: 3: Hoare triple {11108#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {11104#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:26:13,967 INFO L273 TraceCheckUtils]: 2: Hoare triple {11112#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11108#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:26:13,968 INFO L273 TraceCheckUtils]: 1: Hoare triple {11116#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11112#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:26:13,971 INFO L273 TraceCheckUtils]: 0: Hoare triple {11071#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {11116#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 2))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:26:13,971 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 3 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:26:13,990 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:26:13,990 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 5, 5] total 14 [2019-02-14 16:26:13,991 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:26:13,991 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 6 [2019-02-14 16:26:13,991 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:26:13,991 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-02-14 16:26:14,017 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:26:14,018 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-02-14 16:26:14,018 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-02-14 16:26:14,018 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=87, Invalid=153, Unknown=0, NotChecked=0, Total=240 [2019-02-14 16:26:14,018 INFO L87 Difference]: Start difference. First operand 77 states and 363 transitions. Second operand 11 states. [2019-02-14 16:26:18,477 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:26:18,477 INFO L93 Difference]: Finished difference Result 136 states and 478 transitions. [2019-02-14 16:26:18,477 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-02-14 16:26:18,477 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 6 [2019-02-14 16:26:18,477 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:26:18,477 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-02-14 16:26:18,478 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 92 transitions. [2019-02-14 16:26:18,478 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-02-14 16:26:18,478 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 92 transitions. [2019-02-14 16:26:18,478 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 92 transitions. [2019-02-14 16:26:18,688 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:26:18,691 INFO L225 Difference]: With dead ends: 136 [2019-02-14 16:26:18,691 INFO L226 Difference]: Without dead ends: 131 [2019-02-14 16:26:18,692 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 87 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=107, Invalid=199, Unknown=0, NotChecked=0, Total=306 [2019-02-14 16:26:18,692 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 131 states. [2019-02-14 16:26:19,558 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 131 to 77. [2019-02-14 16:26:19,558 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:26:19,558 INFO L82 GeneralOperation]: Start isEquivalent. First operand 131 states. Second operand 77 states. [2019-02-14 16:26:19,558 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand 77 states. [2019-02-14 16:26:19,559 INFO L87 Difference]: Start difference. First operand 131 states. Second operand 77 states. [2019-02-14 16:26:19,563 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:26:19,563 INFO L93 Difference]: Finished difference Result 131 states and 472 transitions. [2019-02-14 16:26:19,563 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 472 transitions. [2019-02-14 16:26:19,564 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:26:19,564 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:26:19,564 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 131 states. [2019-02-14 16:26:19,564 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 131 states. [2019-02-14 16:26:19,567 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:26:19,568 INFO L93 Difference]: Finished difference Result 131 states and 472 transitions. [2019-02-14 16:26:19,568 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 472 transitions. [2019-02-14 16:26:19,568 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:26:19,568 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:26:19,568 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:26:19,568 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:26:19,569 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2019-02-14 16:26:19,571 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 362 transitions. [2019-02-14 16:26:19,571 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 362 transitions. Word has length 6 [2019-02-14 16:26:19,571 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:26:19,571 INFO L480 AbstractCegarLoop]: Abstraction has 77 states and 362 transitions. [2019-02-14 16:26:19,571 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-02-14 16:26:19,571 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 362 transitions. [2019-02-14 16:26:19,572 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-14 16:26:19,572 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:26:19,572 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-14 16:26:19,572 INFO L423 AbstractCegarLoop]: === Iteration 38 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:26:19,572 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:26:19,572 INFO L82 PathProgramCache]: Analyzing trace with hash 904729414, now seen corresponding path program 1 times [2019-02-14 16:26:19,572 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:26:19,573 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:26:19,573 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2019-02-14 16:26:19,573 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:26:19,573 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:26:19,576 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:26:19,788 INFO L273 TraceCheckUtils]: 0: Hoare triple {11724#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {11726#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2019-02-14 16:26:19,789 INFO L273 TraceCheckUtils]: 1: Hoare triple {11726#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11727#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:26:19,790 INFO L273 TraceCheckUtils]: 2: Hoare triple {11727#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {11728#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:26:19,790 INFO L273 TraceCheckUtils]: 3: Hoare triple {11728#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {11729#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:26:19,791 INFO L273 TraceCheckUtils]: 4: Hoare triple {11729#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {11729#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:26:19,791 INFO L273 TraceCheckUtils]: 5: Hoare triple {11729#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {11725#false} is VALID [2019-02-14 16:26:19,791 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:26:19,791 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:26:19,791 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:26:19,792 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-14 16:26:19,792 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [20], [24], [25] [2019-02-14 16:26:19,793 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:26:19,793 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:26:19,808 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:26:19,808 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-14 16:26:19,808 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:26:19,808 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:26:19,809 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:26:19,809 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 [2019-02-14 16:26:19,825 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:26:19,825 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:26:19,831 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:26:19,834 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:26:19,835 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:26:19,850 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 [2019-02-14 16:26:19,856 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:19,857 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 [2019-02-14 16:26:19,872 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:19,873 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:19,874 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 [2019-02-14 16:26:19,888 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:19,889 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:19,890 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:19,891 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 [2019-02-14 16:26:20,015 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:20,016 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:20,018 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:20,019 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:20,020 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 [2019-02-14 16:26:20,023 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:26:20,054 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:26:20,070 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:26:20,083 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:26:20,095 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:26:20,116 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. [2019-02-14 16:26:20,116 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-14 16:26:20,123 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:20,123 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_193|, ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store (store (store (store (store |v_#memory_int_193| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:26:20,123 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:26:20,176 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:20,177 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:20,179 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:20,180 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:20,181 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:20,183 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:20,184 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:20,185 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:20,187 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:20,188 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:20,189 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:20,190 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2019-02-14 16:26:20,193 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:26:20,419 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:26:20,420 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-14 16:26:20,911 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:20,911 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_194|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_194| ULTIMATE.start_main_p4))) (and (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_194| ULTIMATE.start_main_p5) 0) (= 0 (select |v_#memory_int_194| ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_194| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_194| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_194| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:26:20,911 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:26:20,968 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:20,970 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:20,971 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:20,972 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:20,974 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:20,975 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:20,976 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:20,978 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:20,979 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:20,980 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:20,982 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:20,983 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:20,984 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:20,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, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 80 [2019-02-14 16:26:20,988 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:26:21,038 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:26:21,039 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-14 16:26:23,177 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:23,177 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_195|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_195| ULTIMATE.start_main_p5))) (and (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_195| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_195| ULTIMATE.start_main_p1)) (= 0 (+ (select |v_#memory_int_195| ULTIMATE.start_main_p4) 1)) (= |#memory_int| (store |v_#memory_int_195| ULTIMATE.start_main_p5 (+ .cse0 1))) (= (select |v_#memory_int_195| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:26:23,178 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:26:23,302 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:23,303 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:23,304 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:23,306 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:23,307 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:23,309 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:23,310 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:23,311 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:23,313 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:23,314 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:23,315 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:23,317 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:23,318 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:23,319 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:23,320 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:26:23,321 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 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 [2019-02-14 16:26:23,324 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:26:23,380 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:26:23,380 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-14 16:26:23,422 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:23,423 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_196|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_196| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_196| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_196| ULTIMATE.start_main_p4) 1) 0) (= .cse0 0) (= 0 (select |v_#memory_int_196| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_196| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_196| ULTIMATE.start_main_p1 (+ .cse0 1))))) [2019-02-14 16:26:23,423 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:26:23,472 INFO L273 TraceCheckUtils]: 0: Hoare triple {11724#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {11733#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:26:23,475 INFO L273 TraceCheckUtils]: 1: Hoare triple {11733#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11737#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-02-14 16:26:23,478 INFO L273 TraceCheckUtils]: 2: Hoare triple {11737#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {11741#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:26:23,481 INFO L273 TraceCheckUtils]: 3: Hoare triple {11741#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {11745#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:26:23,482 INFO L273 TraceCheckUtils]: 4: Hoare triple {11745#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {11745#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:26:23,482 INFO L273 TraceCheckUtils]: 5: Hoare triple {11745#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {11725#false} is VALID [2019-02-14 16:26:23,483 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:26:23,483 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:26:23,548 INFO L273 TraceCheckUtils]: 5: Hoare triple {11752#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {11725#false} is VALID [2019-02-14 16:26:23,548 INFO L273 TraceCheckUtils]: 4: Hoare triple {11752#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {11752#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:26:23,550 INFO L273 TraceCheckUtils]: 3: Hoare triple {11759#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {11752#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:26:23,551 INFO L273 TraceCheckUtils]: 2: Hoare triple {11763#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {11759#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:26:23,553 INFO L273 TraceCheckUtils]: 1: Hoare triple {11767#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {11763#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:26:23,556 INFO L273 TraceCheckUtils]: 0: Hoare triple {11724#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {11767#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:26:23,556 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:26:23,576 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:26:23,576 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2019-02-14 16:26:23,576 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:26:23,576 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2019-02-14 16:26:23,576 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:26:23,577 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-14 16:26:23,602 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:26:23,602 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-14 16:26:23,602 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-14 16:26:23,603 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=115, Unknown=0, NotChecked=0, Total=182 [2019-02-14 16:26:23,603 INFO L87 Difference]: Start difference. First operand 77 states and 362 transitions. Second operand 10 states. [2019-02-14 16:26:25,447 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:26:25,447 INFO L93 Difference]: Finished difference Result 106 states and 409 transitions. [2019-02-14 16:26:25,447 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-14 16:26:25,447 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2019-02-14 16:26:25,447 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:26:25,447 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:26:25,448 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 63 transitions. [2019-02-14 16:26:25,448 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:26:25,448 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 63 transitions. [2019-02-14 16:26:25,448 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 63 transitions. [2019-02-14 16:26:25,553 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:26:25,556 INFO L225 Difference]: With dead ends: 106 [2019-02-14 16:26:25,556 INFO L226 Difference]: Without dead ends: 105 [2019-02-14 16:26:25,556 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=100, Invalid=172, Unknown=0, NotChecked=0, Total=272 [2019-02-14 16:26:25,556 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 105 states. [2019-02-14 16:26:26,366 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 105 to 77. [2019-02-14 16:26:26,366 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:26:26,367 INFO L82 GeneralOperation]: Start isEquivalent. First operand 105 states. Second operand 77 states. [2019-02-14 16:26:26,367 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand 77 states. [2019-02-14 16:26:26,367 INFO L87 Difference]: Start difference. First operand 105 states. Second operand 77 states. [2019-02-14 16:26:26,370 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:26:26,370 INFO L93 Difference]: Finished difference Result 105 states and 407 transitions. [2019-02-14 16:26:26,371 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 407 transitions. [2019-02-14 16:26:26,371 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:26:26,371 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:26:26,371 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 105 states. [2019-02-14 16:26:26,371 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 105 states. [2019-02-14 16:26:26,373 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:26:26,373 INFO L93 Difference]: Finished difference Result 105 states and 407 transitions. [2019-02-14 16:26:26,374 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 407 transitions. [2019-02-14 16:26:26,374 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:26:26,374 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:26:26,374 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:26:26,374 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:26:26,374 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2019-02-14 16:26:26,376 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 362 transitions. [2019-02-14 16:26:26,376 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 362 transitions. Word has length 6 [2019-02-14 16:26:26,376 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:26:26,376 INFO L480 AbstractCegarLoop]: Abstraction has 77 states and 362 transitions. [2019-02-14 16:26:26,376 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-14 16:26:26,376 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 362 transitions. [2019-02-14 16:26:26,376 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-14 16:26:26,376 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:26:26,376 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-14 16:26:26,377 INFO L423 AbstractCegarLoop]: === Iteration 39 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:26:26,377 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:26:26,377 INFO L82 PathProgramCache]: Analyzing trace with hash 904728978, now seen corresponding path program 1 times [2019-02-14 16:26:26,377 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:26:26,378 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:26:26,378 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:26:26,378 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:26:26,378 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:26:26,381 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:26:27,444 WARN L181 SmtUtils]: Spent 698.00 ms on a formula simplification. DAG size of input: 40 DAG size of output: 21 [2019-02-14 16:26:28,154 WARN L181 SmtUtils]: Spent 354.00 ms on a formula simplification. DAG size of input: 29 DAG size of output: 17 [2019-02-14 16:26:28,237 INFO L273 TraceCheckUtils]: 0: Hoare triple {12287#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {12289#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2019-02-14 16:26:28,238 INFO L273 TraceCheckUtils]: 1: Hoare triple {12289#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {12290#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:26:28,239 INFO L273 TraceCheckUtils]: 2: Hoare triple {12290#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {12291#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:26:28,240 INFO L273 TraceCheckUtils]: 3: Hoare triple {12291#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {12292#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:26:28,241 INFO L273 TraceCheckUtils]: 4: Hoare triple {12292#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {12293#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:26:28,242 INFO L273 TraceCheckUtils]: 5: Hoare triple {12293#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {12288#false} is VALID [2019-02-14 16:26:28,242 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:26:28,242 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:26:28,243 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:26:28,243 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-14 16:26:28,243 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [18], [20], [23] [2019-02-14 16:26:28,244 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:26:28,244 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:26:28,261 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:26:28,261 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 4 fixpoints after 4 different actions. Largest state had 0 variables. [2019-02-14 16:26:28,261 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:26:28,261 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:26:28,261 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:26:28,261 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 [2019-02-14 16:26:28,269 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:26:28,269 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:26:28,274 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:26:28,278 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:26:28,279 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:26:28,295 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2019-02-14 16:26:28,301 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:28,302 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 [2019-02-14 16:26:28,312 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:28,313 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:28,314 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 [2019-02-14 16:26:28,326 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:28,328 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:28,329 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:28,330 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 [2019-02-14 16:26:28,347 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:28,349 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:28,350 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:28,351 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:28,352 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 [2019-02-14 16:26:28,355 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:26:28,385 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:26:28,402 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:26:28,415 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:26:28,427 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:26:28,448 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. [2019-02-14 16:26:28,448 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-14 16:26:28,453 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:28,454 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_200|, ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_200| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:26:28,454 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:26:28,509 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:28,510 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:28,511 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:28,513 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:28,514 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:28,515 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:28,517 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:28,518 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:28,520 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:28,521 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:28,522 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:28,523 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2019-02-14 16:26:28,526 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:26:28,571 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:26:28,572 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-14 16:26:28,710 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:28,710 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_201|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_201| ULTIMATE.start_main_p4))) (and (= |#memory_int| (store |v_#memory_int_201| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= (select |v_#memory_int_201| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_201| ULTIMATE.start_main_p1)) (= .cse0 0) (= 0 (select |v_#memory_int_201| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_201| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:26:28,710 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:26:28,769 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:28,771 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:28,772 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:28,774 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:28,775 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:28,776 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:28,778 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:28,779 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:28,780 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:28,782 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:28,783 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:28,784 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:28,785 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:28,786 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 80 [2019-02-14 16:26:28,790 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:26:28,857 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:26:28,858 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-14 16:26:29,764 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:29,764 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_202|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_202| ULTIMATE.start_main_p5))) (and (= 0 (select |v_#memory_int_202| ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_202| ULTIMATE.start_main_p5 (+ .cse0 1))) (= 0 (+ (select |v_#memory_int_202| ULTIMATE.start_main_p4) 1)) (= 0 (select |v_#memory_int_202| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_202| ULTIMATE.start_main_p3)) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:26:29,765 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:26:29,843 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:29,845 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:29,846 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:29,847 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:29,849 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:29,850 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:29,851 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:29,853 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:29,854 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:29,855 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:29,857 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:29,858 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:29,859 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:29,860 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:29,861 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:26:29,862 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 [2019-02-14 16:26:29,865 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:26:29,933 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:26:29,934 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-14 16:26:29,940 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:29,941 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_203|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_203| ULTIMATE.start_main_p1))) (and (= |#memory_int| (store |v_#memory_int_203| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_203| ULTIMATE.start_main_p3)) (= .cse0 0) (= 0 (select |v_#memory_int_203| ULTIMATE.start_main_p2)) (= (+ (select |v_#memory_int_203| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 1 (select |v_#memory_int_203| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:26:29,941 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:26:30,002 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:30,003 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:30,005 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:30,006 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:30,007 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:30,008 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:30,009 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:30,011 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:30,012 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:30,013 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:30,014 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:30,015 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:30,016 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:26:30,017 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:30,018 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 93 [2019-02-14 16:26:30,021 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:26:30,080 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:26:30,080 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2019-02-14 16:26:30,100 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:30,100 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_204|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_204| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_204| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_204| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= .cse0 0) (= (select |v_#memory_int_204| ULTIMATE.start_main_p1) 1) (= (select |v_#memory_int_204| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |v_#memory_int_204| ULTIMATE.start_main_p4) 1) 0))) [2019-02-14 16:26:30,101 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:26:30,159 INFO L273 TraceCheckUtils]: 0: Hoare triple {12287#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {12297#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:26:30,162 INFO L273 TraceCheckUtils]: 1: Hoare triple {12297#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {12301#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-02-14 16:26:30,165 INFO L273 TraceCheckUtils]: 2: Hoare triple {12301#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {12305#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:26:30,168 INFO L273 TraceCheckUtils]: 3: Hoare triple {12305#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {12309#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:26:30,175 INFO L273 TraceCheckUtils]: 4: Hoare triple {12309#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {12313#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-02-14 16:26:30,176 INFO L273 TraceCheckUtils]: 5: Hoare triple {12313#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {12288#false} is VALID [2019-02-14 16:26:30,177 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:26:30,177 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:26:30,266 INFO L273 TraceCheckUtils]: 5: Hoare triple {12317#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {12288#false} is VALID [2019-02-14 16:26:30,266 INFO L273 TraceCheckUtils]: 4: Hoare triple {12321#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {12317#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:26:30,267 INFO L273 TraceCheckUtils]: 3: Hoare triple {12325#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {12321#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:26:30,269 INFO L273 TraceCheckUtils]: 2: Hoare triple {12329#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {12325#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:26:30,271 INFO L273 TraceCheckUtils]: 1: Hoare triple {12333#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {12329#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:26:30,274 INFO L273 TraceCheckUtils]: 0: Hoare triple {12287#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {12333#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:26:30,274 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 6 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:26:30,293 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:26:30,294 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2019-02-14 16:26:30,294 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:26:30,294 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2019-02-14 16:26:30,294 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:26:30,294 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-02-14 16:26:30,317 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:26:30,318 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-02-14 16:26:30,318 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-02-14 16:26:30,318 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=102, Invalid=170, Unknown=0, NotChecked=0, Total=272 [2019-02-14 16:26:30,318 INFO L87 Difference]: Start difference. First operand 77 states and 362 transitions. Second operand 12 states. [2019-02-14 16:26:33,254 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:26:33,254 INFO L93 Difference]: Finished difference Result 131 states and 463 transitions. [2019-02-14 16:26:33,254 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-02-14 16:26:33,254 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2019-02-14 16:26:33,254 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:26:33,255 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-14 16:26:33,255 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2019-02-14 16:26:33,255 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-14 16:26:33,256 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2019-02-14 16:26:33,256 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 89 transitions. [2019-02-14 16:26:33,471 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:26:33,474 INFO L225 Difference]: With dead ends: 131 [2019-02-14 16:26:33,474 INFO L226 Difference]: Without dead ends: 130 [2019-02-14 16:26:33,474 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 100 ImplicationChecksByTransitivity, 1.9s TimeCoverageRelationStatistics Valid=134, Invalid=246, Unknown=0, NotChecked=0, Total=380 [2019-02-14 16:26:33,475 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2019-02-14 16:26:34,353 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 77. [2019-02-14 16:26:34,353 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:26:34,353 INFO L82 GeneralOperation]: Start isEquivalent. First operand 130 states. Second operand 77 states. [2019-02-14 16:26:34,354 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand 77 states. [2019-02-14 16:26:34,354 INFO L87 Difference]: Start difference. First operand 130 states. Second operand 77 states. [2019-02-14 16:26:34,357 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:26:34,357 INFO L93 Difference]: Finished difference Result 130 states and 461 transitions. [2019-02-14 16:26:34,357 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 461 transitions. [2019-02-14 16:26:34,358 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:26:34,358 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:26:34,358 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 130 states. [2019-02-14 16:26:34,358 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 130 states. [2019-02-14 16:26:34,360 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:26:34,361 INFO L93 Difference]: Finished difference Result 130 states and 461 transitions. [2019-02-14 16:26:34,361 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 461 transitions. [2019-02-14 16:26:34,361 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:26:34,361 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:26:34,361 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:26:34,361 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:26:34,361 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2019-02-14 16:26:34,363 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 362 transitions. [2019-02-14 16:26:34,363 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 362 transitions. Word has length 6 [2019-02-14 16:26:34,363 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:26:34,363 INFO L480 AbstractCegarLoop]: Abstraction has 77 states and 362 transitions. [2019-02-14 16:26:34,363 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-02-14 16:26:34,363 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 362 transitions. [2019-02-14 16:26:34,363 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-14 16:26:34,363 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:26:34,364 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-14 16:26:34,364 INFO L423 AbstractCegarLoop]: === Iteration 40 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:26:34,364 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:26:34,364 INFO L82 PathProgramCache]: Analyzing trace with hash 904746776, now seen corresponding path program 1 times [2019-02-14 16:26:34,364 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:26:34,365 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:26:34,365 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:26:34,365 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:26:34,365 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:26:34,368 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:26:34,497 INFO L273 TraceCheckUtils]: 0: Hoare triple {12934#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {12936#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:26:34,498 INFO L273 TraceCheckUtils]: 1: Hoare triple {12936#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {12937#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:26:34,499 INFO L273 TraceCheckUtils]: 2: Hoare triple {12937#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {12938#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-14 16:26:34,500 INFO L273 TraceCheckUtils]: 3: Hoare triple {12938#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p1] >= 0; {12938#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-14 16:26:34,500 INFO L273 TraceCheckUtils]: 4: Hoare triple {12938#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p2] <= 0; {12938#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-14 16:26:34,507 INFO L273 TraceCheckUtils]: 5: Hoare triple {12938#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {12935#false} is VALID [2019-02-14 16:26:34,507 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:26:34,507 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:26:34,507 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:26:34,507 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-14 16:26:34,507 INFO L207 CegarAbsIntRunner]: [0], [18], [20], [24], [26], [27] [2019-02-14 16:26:34,508 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:26:34,508 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:26:34,518 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:26:34,518 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-14 16:26:34,519 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:26:34,519 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:26:34,519 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:26:34,519 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 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 [2019-02-14 16:26:34,528 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:26:34,528 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:26:34,533 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:26:34,537 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:26:34,537 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:26:34,550 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 [2019-02-14 16:26:34,554 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 [2019-02-14 16:26:34,563 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 25 [2019-02-14 16:26:34,577 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:34,578 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 31 [2019-02-14 16:26:34,591 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:34,599 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:34,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, 3 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 38 [2019-02-14 16:26:34,603 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:26:34,619 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:26:34,630 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:26:34,641 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:26:34,653 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:26:34,667 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:26:34,668 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:25, output treesize:32 [2019-02-14 16:26:34,672 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:34,672 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_209|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_209| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-14 16:26:34,672 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:26:34,722 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:34,723 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:34,724 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:34,725 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:34,726 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 [2019-02-14 16:26:34,728 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:26:34,746 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. [2019-02-14 16:26:34,746 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-02-14 16:26:36,769 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:36,769 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_210|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_210| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 .cse0) (= 0 (select |v_#memory_int_210| ULTIMATE.start_main_p5)) (= |#memory_int| (store |v_#memory_int_210| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= (select |v_#memory_int_210| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) [2019-02-14 16:26:36,769 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-14 16:26:36,811 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:36,812 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:36,813 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:36,815 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:36,816 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:36,817 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:36,818 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 42 [2019-02-14 16:26:36,820 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:26:36,841 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:26:36,841 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-02-14 16:26:36,846 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:36,847 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_211|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_211| ULTIMATE.start_main_p5))) (and (= (store |v_#memory_int_211| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_211| ULTIMATE.start_main_p3) 0) (= (+ (select |v_#memory_int_211| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= .cse0 0))) [2019-02-14 16:26:36,847 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-14 16:26:36,889 INFO L273 TraceCheckUtils]: 0: Hoare triple {12934#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {12942#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-14 16:26:36,891 INFO L273 TraceCheckUtils]: 1: Hoare triple {12942#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {12946#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-14 16:26:36,893 INFO L273 TraceCheckUtils]: 2: Hoare triple {12946#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {12950#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:26:36,896 INFO L273 TraceCheckUtils]: 3: Hoare triple {12950#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {12950#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:26:36,896 INFO L273 TraceCheckUtils]: 4: Hoare triple {12950#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {12950#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:26:36,897 INFO L273 TraceCheckUtils]: 5: Hoare triple {12950#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {12935#false} is VALID [2019-02-14 16:26:36,897 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:26:36,897 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:26:36,939 INFO L273 TraceCheckUtils]: 5: Hoare triple {12960#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {12935#false} is VALID [2019-02-14 16:26:36,940 INFO L273 TraceCheckUtils]: 4: Hoare triple {12960#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {12960#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:26:36,940 INFO L273 TraceCheckUtils]: 3: Hoare triple {12960#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {12960#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:26:36,941 INFO L273 TraceCheckUtils]: 2: Hoare triple {12970#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {12960#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:26:36,943 INFO L273 TraceCheckUtils]: 1: Hoare triple {12974#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {12970#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:26:36,945 INFO L273 TraceCheckUtils]: 0: Hoare triple {12934#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {12974#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:26:36,945 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:26:36,964 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:26:36,964 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-14 16:26:36,964 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:26:36,965 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2019-02-14 16:26:36,965 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:26:36,965 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-14 16:26:36,980 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:26:36,981 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-14 16:26:36,981 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-14 16:26:36,981 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2019-02-14 16:26:36,981 INFO L87 Difference]: Start difference. First operand 77 states and 362 transitions. Second operand 8 states. [2019-02-14 16:26:38,639 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:26:38,639 INFO L93 Difference]: Finished difference Result 93 states and 382 transitions. [2019-02-14 16:26:38,639 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-02-14 16:26:38,639 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2019-02-14 16:26:38,639 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:26:38,639 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:26:38,640 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 49 transitions. [2019-02-14 16:26:38,640 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:26:38,640 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 49 transitions. [2019-02-14 16:26:38,640 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 49 transitions. [2019-02-14 16:26:38,704 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:26:38,706 INFO L225 Difference]: With dead ends: 93 [2019-02-14 16:26:38,706 INFO L226 Difference]: Without dead ends: 92 [2019-02-14 16:26:38,707 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 [2019-02-14 16:26:38,707 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2019-02-14 16:26:39,570 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 77. [2019-02-14 16:26:39,570 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:26:39,570 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand 77 states. [2019-02-14 16:26:39,571 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand 77 states. [2019-02-14 16:26:39,571 INFO L87 Difference]: Start difference. First operand 92 states. Second operand 77 states. [2019-02-14 16:26:39,574 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:26:39,574 INFO L93 Difference]: Finished difference Result 92 states and 380 transitions. [2019-02-14 16:26:39,574 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 380 transitions. [2019-02-14 16:26:39,574 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:26:39,574 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:26:39,575 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 92 states. [2019-02-14 16:26:39,575 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 92 states. [2019-02-14 16:26:39,576 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:26:39,577 INFO L93 Difference]: Finished difference Result 92 states and 380 transitions. [2019-02-14 16:26:39,577 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 380 transitions. [2019-02-14 16:26:39,577 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:26:39,577 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:26:39,577 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:26:39,577 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:26:39,577 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2019-02-14 16:26:39,579 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 362 transitions. [2019-02-14 16:26:39,579 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 362 transitions. Word has length 6 [2019-02-14 16:26:39,580 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:26:39,580 INFO L480 AbstractCegarLoop]: Abstraction has 77 states and 362 transitions. [2019-02-14 16:26:39,580 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-14 16:26:39,580 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 362 transitions. [2019-02-14 16:26:39,580 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-14 16:26:39,581 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:26:39,581 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-14 16:26:39,581 INFO L423 AbstractCegarLoop]: === Iteration 41 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:26:39,581 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:26:39,581 INFO L82 PathProgramCache]: Analyzing trace with hash 904732946, now seen corresponding path program 1 times [2019-02-14 16:26:39,581 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:26:39,582 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:26:39,582 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:26:39,582 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:26:39,582 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:26:39,585 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:26:39,861 INFO L273 TraceCheckUtils]: 0: Hoare triple {13450#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {13452#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:26:39,862 INFO L273 TraceCheckUtils]: 1: Hoare triple {13452#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {13453#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:26:39,863 INFO L273 TraceCheckUtils]: 2: Hoare triple {13453#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {13454#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:26:39,864 INFO L273 TraceCheckUtils]: 3: Hoare triple {13454#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {13455#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:26:39,865 INFO L273 TraceCheckUtils]: 4: Hoare triple {13455#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {13456#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-14 16:26:39,866 INFO L273 TraceCheckUtils]: 5: Hoare triple {13456#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {13451#false} is VALID [2019-02-14 16:26:39,866 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:26:39,867 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:26:39,867 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:26:39,867 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-14 16:26:39,867 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [18], [20], [23] [2019-02-14 16:26:39,868 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:26:39,868 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:26:39,891 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:26:39,892 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 4 fixpoints after 4 different actions. Largest state had 0 variables. [2019-02-14 16:26:39,892 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:26:39,892 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:26:39,892 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:26:39,892 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 [2019-02-14 16:26:39,902 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:26:39,902 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:26:39,906 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:26:39,912 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:26:39,912 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:26:39,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, 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 [2019-02-14 16:26:39,981 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:39,982 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2019-02-14 16:26:39,997 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:39,998 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:39,999 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 [2019-02-14 16:26:40,011 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,012 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,013 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,014 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 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 [2019-02-14 16:26:40,289 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,300 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,303 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,305 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,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, 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 [2019-02-14 16:26:40,311 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:26:40,342 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:26:40,359 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:26:40,372 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:26:40,384 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:26:40,406 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:26:40,406 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 1 variables, input treesize:31, output treesize:38 [2019-02-14 16:26:40,412 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:40,413 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_214|]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_214| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:26:40,413 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:26:40,475 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,476 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,477 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,479 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,480 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,481 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,482 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,484 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,485 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,486 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,487 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,488 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2019-02-14 16:26:40,492 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:26:40,542 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. [2019-02-14 16:26:40,542 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:48, output treesize:38 [2019-02-14 16:26:40,577 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:40,577 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_215|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_215| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_215| ULTIMATE.start_main_p5)) (= (store |v_#memory_int_215| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_215| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_215| ULTIMATE.start_main_p3) 0) (= 0 .cse0) (= (select |v_#memory_int_215| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:26:40,577 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:26:40,631 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,632 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,633 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,634 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,636 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,637 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,638 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,639 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,641 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,642 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,643 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,644 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,645 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,646 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 80 [2019-02-14 16:26:40,649 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:26:40,698 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:26:40,698 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:50, output treesize:40 [2019-02-14 16:26:40,707 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:40,707 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_216|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_216| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_216| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_216| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_216| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_216| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= 0 .cse0) (= 0 (+ (select |v_#memory_int_216| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:26:40,708 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:26:40,765 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,766 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,767 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,768 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,770 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,771 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,772 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,773 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,775 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,776 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,777 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,778 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,779 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:26:40,780 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,781 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 97 [2019-02-14 16:26:40,784 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:26:40,838 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:26:40,838 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:38 [2019-02-14 16:26:40,854 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:40,854 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_217|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_217| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_217| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_217| ULTIMATE.start_main_p5) 1) (= 0 .cse0) (= (select |v_#memory_int_217| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |v_#memory_int_217| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_217| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:26:40,854 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:26:40,916 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,917 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,919 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,920 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,922 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,923 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,924 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,926 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,927 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,928 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,929 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,931 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,932 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,933 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:40,933 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:26:40,934 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 100 [2019-02-14 16:26:40,937 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:26:40,994 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:26:40,994 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:52, output treesize:42 [2019-02-14 16:26:41,031 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:41,031 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_218|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_218| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_218| ULTIMATE.start_main_p5)) (= (+ (select |v_#memory_int_218| ULTIMATE.start_main_p4) 1) 0) (= |#memory_int| (store |v_#memory_int_218| ULTIMATE.start_main_p3 (+ .cse0 1))) (= .cse0 0) (= (select |v_#memory_int_218| ULTIMATE.start_main_p1) 0) (= (+ (select |v_#memory_int_218| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:26:41,032 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-14 16:26:41,084 INFO L273 TraceCheckUtils]: 0: Hoare triple {13450#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {13460#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:26:41,086 INFO L273 TraceCheckUtils]: 1: Hoare triple {13460#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {13464#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:26:41,089 INFO L273 TraceCheckUtils]: 2: Hoare triple {13464#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {13468#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:26:41,092 INFO L273 TraceCheckUtils]: 3: Hoare triple {13468#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {13472#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:26:41,097 INFO L273 TraceCheckUtils]: 4: Hoare triple {13472#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {13476#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-02-14 16:26:41,098 INFO L273 TraceCheckUtils]: 5: Hoare triple {13476#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {13451#false} is VALID [2019-02-14 16:26:41,099 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:26:41,099 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:26:41,197 INFO L273 TraceCheckUtils]: 5: Hoare triple {13480#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {13451#false} is VALID [2019-02-14 16:26:41,198 INFO L273 TraceCheckUtils]: 4: Hoare triple {13484#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {13480#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:26:41,199 INFO L273 TraceCheckUtils]: 3: Hoare triple {13488#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {13484#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:26:41,201 INFO L273 TraceCheckUtils]: 2: Hoare triple {13492#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {13488#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:26:41,205 INFO L273 TraceCheckUtils]: 1: Hoare triple {13496#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {13492#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:26:41,207 INFO L273 TraceCheckUtils]: 0: Hoare triple {13450#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {13496#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:26:41,207 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 2 proven. 8 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:26:41,225 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:26:41,225 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2019-02-14 16:26:41,226 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:26:41,226 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2019-02-14 16:26:41,226 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:26:41,226 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-02-14 16:26:41,248 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:26:41,249 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-02-14 16:26:41,249 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-02-14 16:26:41,249 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=94, Invalid=178, Unknown=0, NotChecked=0, Total=272 [2019-02-14 16:26:41,249 INFO L87 Difference]: Start difference. First operand 77 states and 362 transitions. Second operand 12 states. [2019-02-14 16:26:44,323 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:26:44,323 INFO L93 Difference]: Finished difference Result 117 states and 435 transitions. [2019-02-14 16:26:44,323 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-02-14 16:26:44,323 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2019-02-14 16:26:44,323 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:26:44,323 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-14 16:26:44,324 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 76 transitions. [2019-02-14 16:26:44,324 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-14 16:26:44,324 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 76 transitions. [2019-02-14 16:26:44,324 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 76 transitions. [2019-02-14 16:26:44,517 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 76 edges. 76 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:26:44,520 INFO L225 Difference]: With dead ends: 117 [2019-02-14 16:26:44,520 INFO L226 Difference]: Without dead ends: 115 [2019-02-14 16:26:44,520 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 103 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=146, Invalid=274, Unknown=0, NotChecked=0, Total=420 [2019-02-14 16:26:44,520 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2019-02-14 16:26:45,447 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 74. [2019-02-14 16:26:45,447 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:26:45,447 INFO L82 GeneralOperation]: Start isEquivalent. First operand 115 states. Second operand 74 states. [2019-02-14 16:26:45,447 INFO L74 IsIncluded]: Start isIncluded. First operand 115 states. Second operand 74 states. [2019-02-14 16:26:45,448 INFO L87 Difference]: Start difference. First operand 115 states. Second operand 74 states. [2019-02-14 16:26:45,451 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:26:45,451 INFO L93 Difference]: Finished difference Result 115 states and 431 transitions. [2019-02-14 16:26:45,452 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 431 transitions. [2019-02-14 16:26:45,452 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:26:45,452 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:26:45,452 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand 115 states. [2019-02-14 16:26:45,452 INFO L87 Difference]: Start difference. First operand 74 states. Second operand 115 states. [2019-02-14 16:26:45,454 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:26:45,454 INFO L93 Difference]: Finished difference Result 115 states and 431 transitions. [2019-02-14 16:26:45,454 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 431 transitions. [2019-02-14 16:26:45,455 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:26:45,455 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:26:45,455 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:26:45,455 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:26:45,455 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 74 states. [2019-02-14 16:26:45,457 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 344 transitions. [2019-02-14 16:26:45,457 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 344 transitions. Word has length 6 [2019-02-14 16:26:45,457 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:26:45,457 INFO L480 AbstractCegarLoop]: Abstraction has 74 states and 344 transitions. [2019-02-14 16:26:45,457 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-02-14 16:26:45,457 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 344 transitions. [2019-02-14 16:26:45,458 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-14 16:26:45,458 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:26:45,458 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-14 16:26:45,458 INFO L423 AbstractCegarLoop]: === Iteration 42 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:26:45,458 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:26:45,458 INFO L82 PathProgramCache]: Analyzing trace with hash 904737102, now seen corresponding path program 1 times [2019-02-14 16:26:45,458 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:26:45,459 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:26:45,459 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:26:45,459 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:26:45,459 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:26:45,465 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:26:45,653 INFO L273 TraceCheckUtils]: 0: Hoare triple {14046#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {14048#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2019-02-14 16:26:45,654 INFO L273 TraceCheckUtils]: 1: Hoare triple {14048#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {14049#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:26:45,655 INFO L273 TraceCheckUtils]: 2: Hoare triple {14049#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {14050#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:26:45,656 INFO L273 TraceCheckUtils]: 3: Hoare triple {14050#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {14051#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:26:45,657 INFO L273 TraceCheckUtils]: 4: Hoare triple {14051#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {14051#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:26:45,657 INFO L273 TraceCheckUtils]: 5: Hoare triple {14051#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {14047#false} is VALID [2019-02-14 16:26:45,658 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:26:45,658 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:26:45,658 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:26:45,658 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-14 16:26:45,658 INFO L207 CegarAbsIntRunner]: [0], [14], [18], [20], [24], [25] [2019-02-14 16:26:45,663 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:26:45,663 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:26:45,671 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:26:45,671 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-14 16:26:45,672 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:26:45,672 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:26:45,672 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:26:45,672 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 [2019-02-14 16:26:45,682 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:26:45,682 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:26:45,688 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:26:45,694 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:26:45,694 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:26:45,711 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 [2019-02-14 16:26:45,719 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 [2019-02-14 16:26:45,729 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:45,730 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-14 16:26:45,746 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:45,748 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:45,749 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-14 16:26:45,764 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:45,768 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:45,770 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:45,770 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 [2019-02-14 16:26:45,774 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:26:45,794 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:26:45,807 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:26:45,819 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:26:45,831 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:26:45,856 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. [2019-02-14 16:26:45,856 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:28, output treesize:35 [2019-02-14 16:26:45,861 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:45,861 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_223|, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_223| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:26:45,861 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:26:45,921 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:45,922 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:45,924 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:45,925 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:45,926 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:45,928 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:45,929 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:45,930 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 [2019-02-14 16:26:45,932 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:26:45,962 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. [2019-02-14 16:26:45,962 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:40, output treesize:30 [2019-02-14 16:26:47,969 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:47,970 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_224|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_224| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_224| ULTIMATE.start_main_p2) 0) (= 0 .cse0) (= (select |v_#memory_int_224| ULTIMATE.start_main_p5) 0) (= |#memory_int| (store |v_#memory_int_224| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_224| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:26:47,970 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:26:48,021 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:48,022 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:48,023 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:48,025 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:48,026 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:48,027 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:48,028 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:48,029 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:48,030 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:48,031 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 59 [2019-02-14 16:26:48,034 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:26:48,068 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:26:48,068 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:42, output treesize:32 [2019-02-14 16:26:48,624 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:48,625 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_225|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_225| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_225| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |v_#memory_int_225| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_225| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_225| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 .cse0))) [2019-02-14 16:26:48,625 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:26:48,677 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:48,679 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:48,680 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:48,681 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:48,683 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:48,684 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:48,685 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:48,686 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:48,687 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:48,689 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:48,689 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:26:48,690 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 [2019-02-14 16:26:48,693 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:26:48,730 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:26:48,730 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2019-02-14 16:26:49,200 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:49,200 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_226|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_226| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_226| ULTIMATE.start_main_p5) 1) (= .cse0 0) (= (select |v_#memory_int_226| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_226| ULTIMATE.start_main_p3 (+ .cse0 1))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (+ (select |v_#memory_int_226| ULTIMATE.start_main_p4) 1)))) [2019-02-14 16:26:49,200 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:26:49,251 INFO L273 TraceCheckUtils]: 0: Hoare triple {14046#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {14055#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-14 16:26:49,253 INFO L273 TraceCheckUtils]: 1: Hoare triple {14055#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {14059#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:26:49,255 INFO L273 TraceCheckUtils]: 2: Hoare triple {14059#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {14063#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:26:49,258 INFO L273 TraceCheckUtils]: 3: Hoare triple {14063#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {14067#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:26:49,259 INFO L273 TraceCheckUtils]: 4: Hoare triple {14067#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {14067#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:26:49,259 INFO L273 TraceCheckUtils]: 5: Hoare triple {14067#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {14047#false} is VALID [2019-02-14 16:26:49,259 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:26:49,260 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:26:49,323 INFO L273 TraceCheckUtils]: 5: Hoare triple {14074#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {14047#false} is VALID [2019-02-14 16:26:49,324 INFO L273 TraceCheckUtils]: 4: Hoare triple {14074#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {14074#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:26:49,325 INFO L273 TraceCheckUtils]: 3: Hoare triple {14081#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {14074#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:26:49,326 INFO L273 TraceCheckUtils]: 2: Hoare triple {14085#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {14081#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:26:49,328 INFO L273 TraceCheckUtils]: 1: Hoare triple {14089#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {14085#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:26:49,330 INFO L273 TraceCheckUtils]: 0: Hoare triple {14046#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {14089#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:26:49,331 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:26:49,350 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:26:49,350 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2019-02-14 16:26:49,350 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:26:49,351 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2019-02-14 16:26:49,351 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:26:49,351 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-14 16:26:49,395 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:26:49,395 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-14 16:26:49,396 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-14 16:26:49,396 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=115, Unknown=0, NotChecked=0, Total=182 [2019-02-14 16:26:49,396 INFO L87 Difference]: Start difference. First operand 74 states and 344 transitions. Second operand 10 states. [2019-02-14 16:26:51,371 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:26:51,371 INFO L93 Difference]: Finished difference Result 99 states and 372 transitions. [2019-02-14 16:26:51,371 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-14 16:26:51,371 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2019-02-14 16:26:51,371 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:26:51,371 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:26:51,372 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 62 transitions. [2019-02-14 16:26:51,372 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:26:51,372 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 62 transitions. [2019-02-14 16:26:51,372 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 62 transitions. [2019-02-14 16:26:51,469 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:26:51,472 INFO L225 Difference]: With dead ends: 99 [2019-02-14 16:26:51,472 INFO L226 Difference]: Without dead ends: 98 [2019-02-14 16:26:51,472 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=100, Invalid=172, Unknown=0, NotChecked=0, Total=272 [2019-02-14 16:26:51,473 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 98 states. [2019-02-14 16:26:52,398 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 98 to 73. [2019-02-14 16:26:52,398 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:26:52,398 INFO L82 GeneralOperation]: Start isEquivalent. First operand 98 states. Second operand 73 states. [2019-02-14 16:26:52,398 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand 73 states. [2019-02-14 16:26:52,398 INFO L87 Difference]: Start difference. First operand 98 states. Second operand 73 states. [2019-02-14 16:26:52,401 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:26:52,402 INFO L93 Difference]: Finished difference Result 98 states and 370 transitions. [2019-02-14 16:26:52,402 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 370 transitions. [2019-02-14 16:26:52,402 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:26:52,402 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:26:52,402 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand 98 states. [2019-02-14 16:26:52,403 INFO L87 Difference]: Start difference. First operand 73 states. Second operand 98 states. [2019-02-14 16:26:52,404 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:26:52,404 INFO L93 Difference]: Finished difference Result 98 states and 370 transitions. [2019-02-14 16:26:52,405 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 370 transitions. [2019-02-14 16:26:52,405 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:26:52,405 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:26:52,405 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:26:52,405 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:26:52,405 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 73 states. [2019-02-14 16:26:52,407 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 338 transitions. [2019-02-14 16:26:52,407 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 338 transitions. Word has length 6 [2019-02-14 16:26:52,407 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:26:52,407 INFO L480 AbstractCegarLoop]: Abstraction has 73 states and 338 transitions. [2019-02-14 16:26:52,407 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-14 16:26:52,407 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 338 transitions. [2019-02-14 16:26:52,408 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-14 16:26:52,408 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:26:52,408 INFO L402 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1] [2019-02-14 16:26:52,408 INFO L423 AbstractCegarLoop]: === Iteration 43 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:26:52,408 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:26:52,408 INFO L82 PathProgramCache]: Analyzing trace with hash 904323436, now seen corresponding path program 3 times [2019-02-14 16:26:52,408 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:26:52,409 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:26:52,409 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:26:52,409 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:26:52,409 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:26:52,412 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:26:52,647 INFO L273 TraceCheckUtils]: 0: Hoare triple {14574#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {14576#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:26:52,648 INFO L273 TraceCheckUtils]: 1: Hoare triple {14576#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {14576#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:26:52,648 INFO L273 TraceCheckUtils]: 2: Hoare triple {14576#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {14577#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:26:52,649 INFO L273 TraceCheckUtils]: 3: Hoare triple {14577#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {14578#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:26:52,650 INFO L273 TraceCheckUtils]: 4: Hoare triple {14578#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {14579#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:26:52,650 INFO L273 TraceCheckUtils]: 5: Hoare triple {14579#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {14575#false} is VALID [2019-02-14 16:26:52,650 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-14 16:26:52,651 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:26:52,651 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:26:52,651 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2019-02-14 16:26:52,651 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2019-02-14 16:26:52,651 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:26:52,651 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 [2019-02-14 16:26:52,660 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2019-02-14 16:26:52,660 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder TERMS_WITH_SMALL_CONSTANTS_FIRST (IT: FPandBP) [2019-02-14 16:26:52,666 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2019-02-14 16:26:52,666 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2019-02-14 16:26:52,669 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:26:52,669 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:26:52,688 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 [2019-02-14 16:26:52,693 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:52,694 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 [2019-02-14 16:26:52,707 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:52,709 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:52,709 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 [2019-02-14 16:26:52,723 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:52,724 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:52,726 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:52,727 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 [2019-02-14 16:26:52,746 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:52,748 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:52,749 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:52,750 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:52,751 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 [2019-02-14 16:26:52,754 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:26:52,785 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:26:52,801 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:26:52,813 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:26:52,822 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:26:52,844 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:26:52,844 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2019-02-14 16:26:52,850 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:52,851 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_230|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_230| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:26:52,851 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:26:52,912 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:52,913 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:52,915 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:52,916 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:52,917 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:52,919 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:52,920 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:52,921 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:52,923 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:52,924 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:52,925 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:52,926 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2019-02-14 16:26:52,930 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:26:52,973 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:26:52,973 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-14 16:26:52,980 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:52,981 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_231|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_231| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_231| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_231| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_231| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= (select |v_#memory_int_231| ULTIMATE.start_main_p1) 0) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_231| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:26:52,981 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:26:53,040 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,041 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,043 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,046 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,047 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,048 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,049 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,050 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,052 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,053 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,054 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,055 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,057 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,058 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 88 [2019-02-14 16:26:53,061 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:26:53,111 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:26:53,112 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:50, output treesize:40 [2019-02-14 16:26:53,130 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:53,130 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_232|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_232| ULTIMATE.start_main_p1))) (and (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_232| ULTIMATE.start_main_p4) 1) 0) (= |#memory_int| (store |v_#memory_int_232| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 (select |v_#memory_int_232| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_232| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_232| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:26:53,130 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:26:53,184 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,185 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,186 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,187 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,188 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,190 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,191 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,192 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,194 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,195 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,196 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,198 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,199 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,200 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,201 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,202 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,203 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 16 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 98 [2019-02-14 16:26:53,207 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:26:53,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. [2019-02-14 16:26:53,281 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:38 [2019-02-14 16:26:53,289 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:53,289 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_233|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_233| ULTIMATE.start_main_p4))) (and (= |#memory_int| (store |v_#memory_int_233| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= 0 (select |v_#memory_int_233| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_233| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_233| ULTIMATE.start_main_p2) 0) (= 0 (+ .cse0 1)) (= 1 (select |v_#memory_int_233| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:26:53,289 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 2)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:26:53,417 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,420 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,422 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,424 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,426 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,429 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,432 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,435 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,438 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,440 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,443 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,445 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,448 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,450 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,452 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,454 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:26:53,455 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 16 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 110 [2019-02-14 16:26:53,462 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:26:53,545 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:26:53,545 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-14 16:26:55,668 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:26:55,668 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_234|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_234| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_234| ULTIMATE.start_main_p5) 0) (= 0 (+ (select |v_#memory_int_234| ULTIMATE.start_main_p4) 2)) (= .cse0 0) (= (store |v_#memory_int_234| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_234| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 1 (select |v_#memory_int_234| ULTIMATE.start_main_p1)))) [2019-02-14 16:26:55,668 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0)) [2019-02-14 16:26:55,755 INFO L273 TraceCheckUtils]: 0: Hoare triple {14574#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {14583#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:26:55,757 INFO L273 TraceCheckUtils]: 1: Hoare triple {14583#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {14587#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:26:55,760 INFO L273 TraceCheckUtils]: 2: Hoare triple {14587#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {14591#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:26:55,763 INFO L273 TraceCheckUtils]: 3: Hoare triple {14591#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {14595#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:26:55,772 INFO L273 TraceCheckUtils]: 4: Hoare triple {14595#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {14599#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))))} is VALID [2019-02-14 16:26:55,772 INFO L273 TraceCheckUtils]: 5: Hoare triple {14599#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 2) 0))))} assume !(#memory_int[main_p1] >= 0); {14575#false} is VALID [2019-02-14 16:26:55,773 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:26:55,773 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:26:55,860 INFO L273 TraceCheckUtils]: 5: Hoare triple {14603#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {14575#false} is VALID [2019-02-14 16:26:55,861 INFO L273 TraceCheckUtils]: 4: Hoare triple {14607#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {14603#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:26:55,863 INFO L273 TraceCheckUtils]: 3: Hoare triple {14611#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {14607#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:26:55,864 INFO L273 TraceCheckUtils]: 2: Hoare triple {14615#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {14611#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:26:55,866 INFO L273 TraceCheckUtils]: 1: Hoare triple {14619#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {14615#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:26:55,869 INFO L273 TraceCheckUtils]: 0: Hoare triple {14574#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {14619#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:26:55,869 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 3 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:26:55,887 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:26:55,887 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 5, 5] total 14 [2019-02-14 16:26:55,888 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:26:55,888 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 6 [2019-02-14 16:26:55,888 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:26:55,888 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-02-14 16:26:55,913 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:26:55,913 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-02-14 16:26:55,913 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-02-14 16:26:55,914 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=88, Invalid=152, Unknown=0, NotChecked=0, Total=240 [2019-02-14 16:26:55,914 INFO L87 Difference]: Start difference. First operand 73 states and 338 transitions. Second operand 11 states. [2019-02-14 16:26:59,751 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:26:59,752 INFO L93 Difference]: Finished difference Result 132 states and 470 transitions. [2019-02-14 16:26:59,752 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-02-14 16:26:59,752 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 6 [2019-02-14 16:26:59,752 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:26:59,752 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-02-14 16:26:59,753 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2019-02-14 16:26:59,753 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-02-14 16:26:59,754 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2019-02-14 16:26:59,754 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 89 transitions. [2019-02-14 16:26:59,953 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:26:59,956 INFO L225 Difference]: With dead ends: 132 [2019-02-14 16:26:59,956 INFO L226 Difference]: Without dead ends: 130 [2019-02-14 16:26:59,956 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 0 SyntacticMatches, 1 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 85 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=110, Invalid=196, Unknown=0, NotChecked=0, Total=306 [2019-02-14 16:26:59,957 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2019-02-14 16:27:01,006 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 74. [2019-02-14 16:27:01,007 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:27:01,007 INFO L82 GeneralOperation]: Start isEquivalent. First operand 130 states. Second operand 74 states. [2019-02-14 16:27:01,007 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand 74 states. [2019-02-14 16:27:01,007 INFO L87 Difference]: Start difference. First operand 130 states. Second operand 74 states. [2019-02-14 16:27:01,011 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:27:01,011 INFO L93 Difference]: Finished difference Result 130 states and 465 transitions. [2019-02-14 16:27:01,012 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 465 transitions. [2019-02-14 16:27:01,012 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:27:01,012 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:27:01,014 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand 130 states. [2019-02-14 16:27:01,014 INFO L87 Difference]: Start difference. First operand 74 states. Second operand 130 states. [2019-02-14 16:27:01,019 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:27:01,020 INFO L93 Difference]: Finished difference Result 130 states and 465 transitions. [2019-02-14 16:27:01,020 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 465 transitions. [2019-02-14 16:27:01,020 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:27:01,020 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:27:01,020 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:27:01,020 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:27:01,020 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 74 states. [2019-02-14 16:27:01,022 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 334 transitions. [2019-02-14 16:27:01,023 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 334 transitions. Word has length 6 [2019-02-14 16:27:01,023 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:27:01,023 INFO L480 AbstractCegarLoop]: Abstraction has 74 states and 334 transitions. [2019-02-14 16:27:01,023 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-02-14 16:27:01,023 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 334 transitions. [2019-02-14 16:27:01,023 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-14 16:27:01,024 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:27:01,024 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-14 16:27:01,024 INFO L423 AbstractCegarLoop]: === Iteration 44 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:27:01,024 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:27:01,024 INFO L82 PathProgramCache]: Analyzing trace with hash 904329702, now seen corresponding path program 1 times [2019-02-14 16:27:01,025 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:27:01,025 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:27:01,025 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2019-02-14 16:27:01,025 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:27:01,025 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:27:01,030 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:27:01,166 INFO L273 TraceCheckUtils]: 0: Hoare triple {15212#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {15214#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:27:01,167 INFO L273 TraceCheckUtils]: 1: Hoare triple {15214#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {15215#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:27:01,168 INFO L273 TraceCheckUtils]: 2: Hoare triple {15215#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {15216#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-14 16:27:01,169 INFO L273 TraceCheckUtils]: 3: Hoare triple {15216#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p1] >= 0; {15216#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-14 16:27:01,169 INFO L273 TraceCheckUtils]: 4: Hoare triple {15216#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p2] <= 0; {15216#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-14 16:27:01,170 INFO L273 TraceCheckUtils]: 5: Hoare triple {15216#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {15213#false} is VALID [2019-02-14 16:27:01,170 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:27:01,171 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:27:01,171 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:27:01,171 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-14 16:27:01,171 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [24], [26], [27] [2019-02-14 16:27:01,173 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:27:01,173 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:27:01,252 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:27:01,252 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-14 16:27:01,252 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:27:01,252 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:27:01,252 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:27:01,253 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 [2019-02-14 16:27:01,261 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:27:01,261 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:27:01,266 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:27:01,273 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:27:01,273 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:27:01,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, 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 [2019-02-14 16:27:01,313 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:01,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, 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 [2019-02-14 16:27:01,323 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:01,325 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:01,326 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 [2019-02-14 16:27:01,339 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:01,341 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:01,342 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:01,343 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 [2019-02-14 16:27:01,369 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:01,370 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:01,372 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:01,373 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:01,374 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 [2019-02-14 16:27:01,378 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:27:01,409 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:27:01,426 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:27:01,440 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:27:01,452 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:27:01,473 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:27:01,474 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2019-02-14 16:27:01,486 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:27:01,487 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_239|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_239| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:27:01,487 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:27:01,550 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:01,551 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:01,552 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:01,553 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:01,554 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:01,556 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:01,557 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:01,558 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:01,560 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:01,561 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:01,562 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:01,563 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2019-02-14 16:27:01,567 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:27:01,611 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:27:01,611 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-14 16:27:01,842 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:27:01,842 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_240|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_240| ULTIMATE.start_main_p4))) (and (= |#memory_int| (store |v_#memory_int_240| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 0 (select |v_#memory_int_240| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_240| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_240| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_240| ULTIMATE.start_main_p3)))) [2019-02-14 16:27:01,842 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:27:01,897 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:01,899 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:01,900 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:01,901 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:01,903 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:01,904 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:01,905 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:01,907 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:01,908 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:01,910 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:01,911 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:01,912 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:01,913 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:01,914 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 88 [2019-02-14 16:27:01,918 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:27:01,969 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:27:01,970 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-14 16:27:02,091 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:27:02,092 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_241|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_241| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_241| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |v_#memory_int_241| ULTIMATE.start_main_p4) 1)) (= 0 (select |v_#memory_int_241| ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_241| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 (select |v_#memory_int_241| ULTIMATE.start_main_p3)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:27:02,092 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:27:02,157 INFO L273 TraceCheckUtils]: 0: Hoare triple {15212#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {15220#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-14 16:27:02,161 INFO L273 TraceCheckUtils]: 1: Hoare triple {15220#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {15224#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:27:02,164 INFO L273 TraceCheckUtils]: 2: Hoare triple {15224#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {15228#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:27:02,165 INFO L273 TraceCheckUtils]: 3: Hoare triple {15228#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {15228#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:27:02,166 INFO L273 TraceCheckUtils]: 4: Hoare triple {15228#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {15228#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:27:02,167 INFO L273 TraceCheckUtils]: 5: Hoare triple {15228#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {15213#false} is VALID [2019-02-14 16:27:02,167 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:27:02,167 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:27:02,207 INFO L273 TraceCheckUtils]: 5: Hoare triple {15238#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {15213#false} is VALID [2019-02-14 16:27:02,208 INFO L273 TraceCheckUtils]: 4: Hoare triple {15238#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {15238#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:27:02,208 INFO L273 TraceCheckUtils]: 3: Hoare triple {15238#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {15238#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:27:02,209 INFO L273 TraceCheckUtils]: 2: Hoare triple {15248#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {15238#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:27:02,211 INFO L273 TraceCheckUtils]: 1: Hoare triple {15252#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {15248#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:27:02,213 INFO L273 TraceCheckUtils]: 0: Hoare triple {15212#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {15252#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:27:02,213 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:27:02,234 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:27:02,234 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-14 16:27:02,234 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:27:02,235 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2019-02-14 16:27:02,235 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:27:02,235 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-14 16:27:02,253 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:27:02,253 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-14 16:27:02,254 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-14 16:27:02,254 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2019-02-14 16:27:02,254 INFO L87 Difference]: Start difference. First operand 74 states and 334 transitions. Second operand 8 states. [2019-02-14 16:27:06,086 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:27:06,086 INFO L93 Difference]: Finished difference Result 87 states and 350 transitions. [2019-02-14 16:27:06,086 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-02-14 16:27:06,086 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2019-02-14 16:27:06,086 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:27:06,086 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:27:06,087 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 48 transitions. [2019-02-14 16:27:06,087 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:27:06,087 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 48 transitions. [2019-02-14 16:27:06,087 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 48 transitions. [2019-02-14 16:27:06,153 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:27:06,156 INFO L225 Difference]: With dead ends: 87 [2019-02-14 16:27:06,156 INFO L226 Difference]: Without dead ends: 86 [2019-02-14 16:27:06,156 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2019-02-14 16:27:06,156 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2019-02-14 16:27:07,493 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 73. [2019-02-14 16:27:07,493 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:27:07,493 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand 73 states. [2019-02-14 16:27:07,493 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand 73 states. [2019-02-14 16:27:07,493 INFO L87 Difference]: Start difference. First operand 86 states. Second operand 73 states. [2019-02-14 16:27:07,495 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:27:07,495 INFO L93 Difference]: Finished difference Result 86 states and 348 transitions. [2019-02-14 16:27:07,495 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 348 transitions. [2019-02-14 16:27:07,496 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:27:07,496 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:27:07,496 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand 86 states. [2019-02-14 16:27:07,496 INFO L87 Difference]: Start difference. First operand 73 states. Second operand 86 states. [2019-02-14 16:27:07,500 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:27:07,500 INFO L93 Difference]: Finished difference Result 86 states and 348 transitions. [2019-02-14 16:27:07,500 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 348 transitions. [2019-02-14 16:27:07,500 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:27:07,500 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:27:07,500 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:27:07,501 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:27:07,501 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 73 states. [2019-02-14 16:27:07,503 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 337 transitions. [2019-02-14 16:27:07,503 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 337 transitions. Word has length 6 [2019-02-14 16:27:07,503 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:27:07,503 INFO L480 AbstractCegarLoop]: Abstraction has 73 states and 337 transitions. [2019-02-14 16:27:07,503 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-14 16:27:07,503 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 337 transitions. [2019-02-14 16:27:07,503 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-14 16:27:07,504 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:27:07,504 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-14 16:27:07,504 INFO L423 AbstractCegarLoop]: === Iteration 45 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:27:07,504 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:27:07,504 INFO L82 PathProgramCache]: Analyzing trace with hash 904316184, now seen corresponding path program 1 times [2019-02-14 16:27:07,504 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:27:07,505 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:27:07,505 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:27:07,505 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:27:07,505 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:27:07,507 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:27:07,672 INFO L273 TraceCheckUtils]: 0: Hoare triple {15697#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {15699#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2019-02-14 16:27:07,673 INFO L273 TraceCheckUtils]: 1: Hoare triple {15699#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {15700#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:27:07,674 INFO L273 TraceCheckUtils]: 2: Hoare triple {15700#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {15700#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:27:07,675 INFO L273 TraceCheckUtils]: 3: Hoare triple {15700#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {15701#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2019-02-14 16:27:07,676 INFO L273 TraceCheckUtils]: 4: Hoare triple {15701#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {15702#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:27:07,676 INFO L273 TraceCheckUtils]: 5: Hoare triple {15702#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {15698#false} is VALID [2019-02-14 16:27:07,677 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-14 16:27:07,677 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:27:07,677 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:27:07,677 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-14 16:27:07,677 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [18], [24], [25] [2019-02-14 16:27:07,681 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:27:07,681 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:27:07,699 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:27:07,699 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-14 16:27:07,700 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:27:07,700 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:27:07,700 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:27:07,700 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 [2019-02-14 16:27:07,709 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:27:07,709 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:27:07,714 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:27:07,717 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:27:07,717 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:27:07,740 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 [2019-02-14 16:27:07,746 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:07,747 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 [2019-02-14 16:27:07,757 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:07,758 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:07,759 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 [2019-02-14 16:27:07,777 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:07,778 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:07,779 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:07,780 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 [2019-02-14 16:27:07,810 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:07,812 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:07,813 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:07,814 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:07,815 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2019-02-14 16:27:07,828 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:27:07,858 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:27:07,875 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:27:07,887 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:27:07,899 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:27:07,920 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:27:07,921 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2019-02-14 16:27:07,933 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:27:07,933 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_244|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_244| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:27:07,933 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:27:07,991 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:07,992 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:07,993 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:07,995 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:07,996 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:07,997 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:07,998 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:07,999 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:08,001 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:08,002 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:08,003 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:08,004 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2019-02-14 16:27:08,007 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:27:08,054 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:27:08,055 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-14 16:27:10,068 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:27:10,069 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_245|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_245| ULTIMATE.start_main_p4))) (and (= 0 .cse0) (= (store |v_#memory_int_245| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_245| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_245| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |v_#memory_int_245| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_245| ULTIMATE.start_main_p3) 0))) [2019-02-14 16:27:10,069 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:27:10,148 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:10,149 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:10,151 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:10,152 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:10,153 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:10,154 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:10,156 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:10,157 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:10,158 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:10,159 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:10,160 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:10,161 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:10,162 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:10,163 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 88 [2019-02-14 16:27:10,165 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:27:10,217 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:27:10,218 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-14 16:27:10,290 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:27:10,290 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_246|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_246| ULTIMATE.start_main_p1))) (and (= 0 (+ (select |v_#memory_int_246| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_246| ULTIMATE.start_main_p5) 0) (= 0 (select |v_#memory_int_246| ULTIMATE.start_main_p2)) (= (store |v_#memory_int_246| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_246| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= .cse0 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:27:10,291 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:27:10,349 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:10,350 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:10,352 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:10,353 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:10,354 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:10,356 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:10,357 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:10,358 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:10,359 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:10,360 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:10,361 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:10,362 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:10,363 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:27:10,364 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:10,365 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 97 [2019-02-14 16:27:10,369 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:27:10,427 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:27:10,428 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2019-02-14 16:27:10,486 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:27:10,487 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_247|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_247| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_247| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_247| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (+ (select |v_#memory_int_247| ULTIMATE.start_main_p4) 1) 0) (= .cse0 0) (= (select |v_#memory_int_247| ULTIMATE.start_main_p1) 1) (= (select |v_#memory_int_247| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:27:10,487 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:27:10,543 INFO L273 TraceCheckUtils]: 0: Hoare triple {15697#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {15706#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:27:10,545 INFO L273 TraceCheckUtils]: 1: Hoare triple {15706#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {15710#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:27:10,547 INFO L273 TraceCheckUtils]: 2: Hoare triple {15710#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {15714#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:27:10,550 INFO L273 TraceCheckUtils]: 3: Hoare triple {15714#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {15718#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-02-14 16:27:10,551 INFO L273 TraceCheckUtils]: 4: Hoare triple {15718#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} assume #memory_int[main_p1] >= 0; {15718#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-02-14 16:27:10,552 INFO L273 TraceCheckUtils]: 5: Hoare triple {15718#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} assume !(#memory_int[main_p2] <= 0); {15698#false} is VALID [2019-02-14 16:27:10,553 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:27:10,553 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:27:10,597 INFO L273 TraceCheckUtils]: 5: Hoare triple {15702#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {15698#false} is VALID [2019-02-14 16:27:10,598 INFO L273 TraceCheckUtils]: 4: Hoare triple {15702#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {15702#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:27:10,599 INFO L273 TraceCheckUtils]: 3: Hoare triple {15731#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {15702#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:27:10,600 INFO L273 TraceCheckUtils]: 2: Hoare triple {15735#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {15731#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2019-02-14 16:27:10,601 INFO L273 TraceCheckUtils]: 1: Hoare triple {15739#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {15735#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2019-02-14 16:27:10,604 INFO L273 TraceCheckUtils]: 0: Hoare triple {15697#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {15739#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2019-02-14 16:27:10,604 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 4 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:27:10,625 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:27:10,625 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2019-02-14 16:27:10,625 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:27:10,625 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2019-02-14 16:27:10,625 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:27:10,625 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-14 16:27:10,647 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:27:10,647 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-14 16:27:10,647 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-14 16:27:10,647 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=64, Invalid=92, Unknown=0, NotChecked=0, Total=156 [2019-02-14 16:27:10,647 INFO L87 Difference]: Start difference. First operand 73 states and 337 transitions. Second operand 10 states. [2019-02-14 16:27:13,142 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:27:13,143 INFO L93 Difference]: Finished difference Result 106 states and 387 transitions. [2019-02-14 16:27:13,143 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-02-14 16:27:13,143 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2019-02-14 16:27:13,143 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:27:13,143 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:27:13,144 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 72 transitions. [2019-02-14 16:27:13,144 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:27:13,144 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 72 transitions. [2019-02-14 16:27:13,144 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 72 transitions. [2019-02-14 16:27:13,259 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:27:13,262 INFO L225 Difference]: With dead ends: 106 [2019-02-14 16:27:13,262 INFO L226 Difference]: Without dead ends: 105 [2019-02-14 16:27:13,262 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 52 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=92, Invalid=148, Unknown=0, NotChecked=0, Total=240 [2019-02-14 16:27:13,262 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 105 states. [2019-02-14 16:27:14,549 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 105 to 75. [2019-02-14 16:27:14,549 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:27:14,549 INFO L82 GeneralOperation]: Start isEquivalent. First operand 105 states. Second operand 75 states. [2019-02-14 16:27:14,549 INFO L74 IsIncluded]: Start isIncluded. First operand 105 states. Second operand 75 states. [2019-02-14 16:27:14,550 INFO L87 Difference]: Start difference. First operand 105 states. Second operand 75 states. [2019-02-14 16:27:14,552 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:27:14,552 INFO L93 Difference]: Finished difference Result 105 states and 385 transitions. [2019-02-14 16:27:14,553 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 385 transitions. [2019-02-14 16:27:14,553 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:27:14,553 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:27:14,553 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand 105 states. [2019-02-14 16:27:14,553 INFO L87 Difference]: Start difference. First operand 75 states. Second operand 105 states. [2019-02-14 16:27:14,555 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:27:14,555 INFO L93 Difference]: Finished difference Result 105 states and 385 transitions. [2019-02-14 16:27:14,555 INFO L276 IsEmpty]: Start isEmpty. Operand 105 states and 385 transitions. [2019-02-14 16:27:14,555 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:27:14,556 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:27:14,556 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:27:14,556 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:27:14,556 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 75 states. [2019-02-14 16:27:14,557 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 75 states to 75 states and 349 transitions. [2019-02-14 16:27:14,557 INFO L78 Accepts]: Start accepts. Automaton has 75 states and 349 transitions. Word has length 6 [2019-02-14 16:27:14,558 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:27:14,558 INFO L480 AbstractCegarLoop]: Abstraction has 75 states and 349 transitions. [2019-02-14 16:27:14,558 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-14 16:27:14,558 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 349 transitions. [2019-02-14 16:27:14,558 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-14 16:27:14,558 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:27:14,558 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-14 16:27:14,558 INFO L423 AbstractCegarLoop]: === Iteration 46 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:27:14,558 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:27:14,558 INFO L82 PathProgramCache]: Analyzing trace with hash 904320028, now seen corresponding path program 1 times [2019-02-14 16:27:14,559 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:27:14,559 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:27:14,559 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:27:14,559 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:27:14,559 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:27:14,562 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:27:14,859 INFO L273 TraceCheckUtils]: 0: Hoare triple {16251#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {16253#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2019-02-14 16:27:14,861 INFO L273 TraceCheckUtils]: 1: Hoare triple {16253#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {16254#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:27:14,862 INFO L273 TraceCheckUtils]: 2: Hoare triple {16254#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {16254#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:27:14,863 INFO L273 TraceCheckUtils]: 3: Hoare triple {16254#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {16255#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2019-02-14 16:27:14,863 INFO L273 TraceCheckUtils]: 4: Hoare triple {16255#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {16256#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:27:14,864 INFO L273 TraceCheckUtils]: 5: Hoare triple {16256#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {16252#false} is VALID [2019-02-14 16:27:14,864 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-14 16:27:14,864 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:27:14,864 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:27:14,865 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-14 16:27:14,865 INFO L207 CegarAbsIntRunner]: [0], [6], [14], [18], [24], [25] [2019-02-14 16:27:14,866 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:27:14,866 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:27:14,943 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:27:14,943 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-14 16:27:14,943 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:27:14,943 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:27:14,943 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:27:14,943 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 44 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 44 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:27:14,953 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:27:14,953 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:27:14,958 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:27:14,965 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:27:14,965 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:27:14,991 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 [2019-02-14 16:27:14,999 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:15,000 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 [2019-02-14 16:27:15,011 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:15,012 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:15,013 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 [2019-02-14 16:27:15,053 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:15,054 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:15,055 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:15,056 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 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 [2019-02-14 16:27:15,075 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:15,077 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:15,078 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:15,079 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:15,080 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2019-02-14 16:27:15,084 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:27:15,120 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:27:15,134 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:27:15,148 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:27:15,159 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:27:15,178 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. [2019-02-14 16:27:15,178 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-14 16:27:15,184 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:27:15,184 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_251|, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_251| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:27:15,184 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:27:15,237 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:15,239 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:15,240 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:15,241 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:15,242 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:15,244 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:15,245 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:15,246 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:15,247 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:15,248 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:15,250 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:15,250 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2019-02-14 16:27:15,253 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:27:15,295 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:27:15,296 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-14 16:27:17,300 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:27:17,301 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_252|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_252| ULTIMATE.start_main_p4))) (and (= 0 (select |v_#memory_int_252| ULTIMATE.start_main_p3)) (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_252| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_252| ULTIMATE.start_main_p1) 0) (= (store |v_#memory_int_252| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_252| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:27:17,301 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:27:17,356 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:17,357 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:17,358 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:17,360 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:17,361 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:17,362 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:17,363 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:17,365 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:17,366 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:17,367 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:17,368 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:17,369 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:17,370 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:17,371 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 88 [2019-02-14 16:27:17,375 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:27:17,426 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:27:17,427 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-14 16:27:17,446 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:27:17,447 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_253|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_253| ULTIMATE.start_main_p1))) (and (= 0 (+ (select |v_#memory_int_253| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_253| ULTIMATE.start_main_p5) 0) (= (store |v_#memory_int_253| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_253| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |v_#memory_int_253| ULTIMATE.start_main_p3)))) [2019-02-14 16:27:17,447 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:27:17,505 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:17,506 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:17,507 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:17,508 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:17,510 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:17,511 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:17,512 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:17,513 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:17,515 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:17,516 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:17,517 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:17,518 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:17,519 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:17,520 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:17,521 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:17,522 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:27:17,523 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 104 [2019-02-14 16:27:17,532 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:27:17,587 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:27:17,587 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-14 16:27:19,617 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:27:19,617 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_254|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_254| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 0 (select |v_#memory_int_254| ULTIMATE.start_main_p5)) (= 0 (+ (select |v_#memory_int_254| ULTIMATE.start_main_p4) 1)) (= (store |v_#memory_int_254| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_254| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_254| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:27:19,617 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:27:19,706 INFO L273 TraceCheckUtils]: 0: Hoare triple {16251#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {16260#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:27:19,708 INFO L273 TraceCheckUtils]: 1: Hoare triple {16260#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {16264#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:27:19,710 INFO L273 TraceCheckUtils]: 2: Hoare triple {16264#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {16268#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:27:19,714 INFO L273 TraceCheckUtils]: 3: Hoare triple {16268#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {16272#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:27:19,715 INFO L273 TraceCheckUtils]: 4: Hoare triple {16272#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {16272#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:27:19,715 INFO L273 TraceCheckUtils]: 5: Hoare triple {16272#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {16252#false} is VALID [2019-02-14 16:27:19,716 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:27:19,716 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:27:19,780 INFO L273 TraceCheckUtils]: 5: Hoare triple {16279#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {16252#false} is VALID [2019-02-14 16:27:19,780 INFO L273 TraceCheckUtils]: 4: Hoare triple {16279#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {16279#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:27:19,781 INFO L273 TraceCheckUtils]: 3: Hoare triple {16286#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {16279#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:27:19,783 INFO L273 TraceCheckUtils]: 2: Hoare triple {16290#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {16286#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:27:19,785 INFO L273 TraceCheckUtils]: 1: Hoare triple {16294#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {16290#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:27:19,787 INFO L273 TraceCheckUtils]: 0: Hoare triple {16251#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {16294#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:27:19,788 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:27:19,808 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:27:19,808 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2019-02-14 16:27:19,809 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:27:19,809 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2019-02-14 16:27:19,809 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:27:19,809 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-14 16:27:19,831 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:27:19,831 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-14 16:27:19,831 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-14 16:27:19,831 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=117, Unknown=0, NotChecked=0, Total=182 [2019-02-14 16:27:19,832 INFO L87 Difference]: Start difference. First operand 75 states and 349 transitions. Second operand 10 states. [2019-02-14 16:27:22,006 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:27:22,006 INFO L93 Difference]: Finished difference Result 102 states and 394 transitions. [2019-02-14 16:27:22,006 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-14 16:27:22,006 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2019-02-14 16:27:22,006 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:27:22,007 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:27:22,007 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 61 transitions. [2019-02-14 16:27:22,007 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:27:22,007 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 61 transitions. [2019-02-14 16:27:22,007 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 61 transitions. [2019-02-14 16:27:22,102 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:27:22,104 INFO L225 Difference]: With dead ends: 102 [2019-02-14 16:27:22,105 INFO L226 Difference]: Without dead ends: 101 [2019-02-14 16:27:22,105 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 [2019-02-14 16:27:22,105 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 101 states. [2019-02-14 16:27:23,401 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 101 to 78. [2019-02-14 16:27:23,401 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:27:23,401 INFO L82 GeneralOperation]: Start isEquivalent. First operand 101 states. Second operand 78 states. [2019-02-14 16:27:23,402 INFO L74 IsIncluded]: Start isIncluded. First operand 101 states. Second operand 78 states. [2019-02-14 16:27:23,402 INFO L87 Difference]: Start difference. First operand 101 states. Second operand 78 states. [2019-02-14 16:27:23,404 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:27:23,404 INFO L93 Difference]: Finished difference Result 101 states and 392 transitions. [2019-02-14 16:27:23,404 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 392 transitions. [2019-02-14 16:27:23,405 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:27:23,405 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:27:23,405 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand 101 states. [2019-02-14 16:27:23,405 INFO L87 Difference]: Start difference. First operand 78 states. Second operand 101 states. [2019-02-14 16:27:23,407 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:27:23,407 INFO L93 Difference]: Finished difference Result 101 states and 392 transitions. [2019-02-14 16:27:23,407 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 392 transitions. [2019-02-14 16:27:23,407 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:27:23,407 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:27:23,407 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:27:23,407 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:27:23,407 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 78 states. [2019-02-14 16:27:23,409 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 367 transitions. [2019-02-14 16:27:23,409 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 367 transitions. Word has length 6 [2019-02-14 16:27:23,409 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:27:23,409 INFO L480 AbstractCegarLoop]: Abstraction has 78 states and 367 transitions. [2019-02-14 16:27:23,409 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-14 16:27:23,409 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 367 transitions. [2019-02-14 16:27:23,409 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-14 16:27:23,410 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:27:23,410 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-14 16:27:23,410 INFO L423 AbstractCegarLoop]: === Iteration 47 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:27:23,410 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:27:23,410 INFO L82 PathProgramCache]: Analyzing trace with hash 904448866, now seen corresponding path program 1 times [2019-02-14 16:27:23,410 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:27:23,411 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:27:23,411 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:27:23,411 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:27:23,411 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:27:23,414 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:27:23,566 INFO L273 TraceCheckUtils]: 0: Hoare triple {16802#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {16804#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:27:23,567 INFO L273 TraceCheckUtils]: 1: Hoare triple {16804#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {16805#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:27:23,568 INFO L273 TraceCheckUtils]: 2: Hoare triple {16805#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {16806#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-14 16:27:23,568 INFO L273 TraceCheckUtils]: 3: Hoare triple {16806#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p1] >= 0; {16806#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-14 16:27:23,568 INFO L273 TraceCheckUtils]: 4: Hoare triple {16806#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p2] <= 0; {16806#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-14 16:27:23,569 INFO L273 TraceCheckUtils]: 5: Hoare triple {16806#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {16803#false} is VALID [2019-02-14 16:27:23,569 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:27:23,569 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:27:23,569 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:27:23,569 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-14 16:27:23,569 INFO L207 CegarAbsIntRunner]: [0], [10], [18], [24], [26], [27] [2019-02-14 16:27:23,571 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:27:23,571 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:27:23,585 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:27:23,586 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-14 16:27:23,586 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:27:23,586 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:27:23,586 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:27:23,586 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 45 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 45 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:27:23,595 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:27:23,595 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:27:23,603 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:27:23,620 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:27:23,621 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:27:23,637 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 [2019-02-14 16:27:23,643 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 [2019-02-14 16:27:23,654 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:23,655 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-14 16:27:23,668 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:23,670 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:23,671 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-14 16:27:23,685 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:23,690 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:23,691 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:23,692 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 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 [2019-02-14 16:27:23,695 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:27:23,717 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:27:23,730 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:27:23,740 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:27:23,751 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:27:23,769 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:27:23,770 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:28, output treesize:35 [2019-02-14 16:27:23,775 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:27:23,776 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_258|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_258| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:27:23,776 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:27:23,839 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:23,841 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:23,842 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:23,843 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:23,844 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:23,845 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:23,846 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:23,847 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 [2019-02-14 16:27:23,850 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:27:23,879 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:27:23,879 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-02-14 16:27:25,893 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:27:25,894 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_259|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_259| ULTIMATE.start_main_p4))) (and (= (store |v_#memory_int_259| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_259| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_259| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_259| ULTIMATE.start_main_p2) 0) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:27:25,894 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:27:25,949 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:25,951 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:25,952 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:25,953 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:25,954 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:25,956 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:25,957 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:25,957 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:27:25,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 33 treesize of output 60 [2019-02-14 16:27:25,961 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:27:25,995 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:27:25,996 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:30 [2019-02-14 16:27:26,008 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:27:26,008 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_260|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_260| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_260| ULTIMATE.start_main_p5) 0) (= (store |v_#memory_int_260| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_260| ULTIMATE.start_main_p3)) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (+ (select |v_#memory_int_260| ULTIMATE.start_main_p4) 1)))) [2019-02-14 16:27:26,008 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:27:26,060 INFO L273 TraceCheckUtils]: 0: Hoare triple {16802#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {16810#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-14 16:27:26,062 INFO L273 TraceCheckUtils]: 1: Hoare triple {16810#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {16814#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:27:26,064 INFO L273 TraceCheckUtils]: 2: Hoare triple {16814#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {16818#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:27:26,065 INFO L273 TraceCheckUtils]: 3: Hoare triple {16818#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {16818#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:27:26,066 INFO L273 TraceCheckUtils]: 4: Hoare triple {16818#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {16818#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:27:26,067 INFO L273 TraceCheckUtils]: 5: Hoare triple {16818#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {16803#false} is VALID [2019-02-14 16:27:26,067 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:27:26,068 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:27:26,110 INFO L273 TraceCheckUtils]: 5: Hoare triple {16828#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {16803#false} is VALID [2019-02-14 16:27:26,110 INFO L273 TraceCheckUtils]: 4: Hoare triple {16828#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {16828#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:27:26,111 INFO L273 TraceCheckUtils]: 3: Hoare triple {16828#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {16828#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:27:26,112 INFO L273 TraceCheckUtils]: 2: Hoare triple {16838#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {16828#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:27:26,113 INFO L273 TraceCheckUtils]: 1: Hoare triple {16842#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {16838#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:27:26,115 INFO L273 TraceCheckUtils]: 0: Hoare triple {16802#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {16842#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:27:26,116 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:27:26,136 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:27:26,136 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-14 16:27:26,136 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:27:26,136 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2019-02-14 16:27:26,136 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:27:26,136 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-14 16:27:26,156 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:27:26,156 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-14 16:27:26,156 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-14 16:27:26,156 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=43, Invalid=67, Unknown=0, NotChecked=0, Total=110 [2019-02-14 16:27:26,157 INFO L87 Difference]: Start difference. First operand 78 states and 367 transitions. Second operand 8 states. [2019-02-14 16:27:28,914 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:27:28,914 INFO L93 Difference]: Finished difference Result 94 states and 387 transitions. [2019-02-14 16:27:28,914 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-02-14 16:27:28,914 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2019-02-14 16:27:28,914 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:27:28,914 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:27:28,915 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 49 transitions. [2019-02-14 16:27:28,915 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:27:28,915 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 49 transitions. [2019-02-14 16:27:28,915 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 49 transitions. [2019-02-14 16:27:28,984 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 49 edges. 49 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:27:28,986 INFO L225 Difference]: With dead ends: 94 [2019-02-14 16:27:28,986 INFO L226 Difference]: Without dead ends: 93 [2019-02-14 16:27:28,986 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=61, Invalid=95, Unknown=0, NotChecked=0, Total=156 [2019-02-14 16:27:28,986 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 93 states. [2019-02-14 16:27:30,505 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 93 to 78. [2019-02-14 16:27:30,505 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:27:30,505 INFO L82 GeneralOperation]: Start isEquivalent. First operand 93 states. Second operand 78 states. [2019-02-14 16:27:30,505 INFO L74 IsIncluded]: Start isIncluded. First operand 93 states. Second operand 78 states. [2019-02-14 16:27:30,505 INFO L87 Difference]: Start difference. First operand 93 states. Second operand 78 states. [2019-02-14 16:27:30,509 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:27:30,509 INFO L93 Difference]: Finished difference Result 93 states and 385 transitions. [2019-02-14 16:27:30,509 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 385 transitions. [2019-02-14 16:27:30,509 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:27:30,509 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:27:30,509 INFO L74 IsIncluded]: Start isIncluded. First operand 78 states. Second operand 93 states. [2019-02-14 16:27:30,509 INFO L87 Difference]: Start difference. First operand 78 states. Second operand 93 states. [2019-02-14 16:27:30,511 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:27:30,511 INFO L93 Difference]: Finished difference Result 93 states and 385 transitions. [2019-02-14 16:27:30,511 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 385 transitions. [2019-02-14 16:27:30,512 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:27:30,512 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:27:30,512 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:27:30,512 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:27:30,512 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 78 states. [2019-02-14 16:27:30,514 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 367 transitions. [2019-02-14 16:27:30,514 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 367 transitions. Word has length 6 [2019-02-14 16:27:30,514 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:27:30,514 INFO L480 AbstractCegarLoop]: Abstraction has 78 states and 367 transitions. [2019-02-14 16:27:30,514 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-14 16:27:30,514 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 367 transitions. [2019-02-14 16:27:30,514 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-14 16:27:30,514 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:27:30,514 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-14 16:27:30,515 INFO L423 AbstractCegarLoop]: === Iteration 48 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:27:30,515 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:27:30,515 INFO L82 PathProgramCache]: Analyzing trace with hash 904439192, now seen corresponding path program 1 times [2019-02-14 16:27:30,515 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:27:30,515 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:27:30,515 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:27:30,516 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:27:30,516 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:27:30,518 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:27:30,678 INFO L273 TraceCheckUtils]: 0: Hoare triple {17324#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {17326#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2019-02-14 16:27:30,679 INFO L273 TraceCheckUtils]: 1: Hoare triple {17326#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {17327#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2019-02-14 16:27:30,680 INFO L273 TraceCheckUtils]: 2: Hoare triple {17327#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {17328#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:27:30,681 INFO L273 TraceCheckUtils]: 3: Hoare triple {17328#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {17329#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2019-02-14 16:27:30,682 INFO L273 TraceCheckUtils]: 4: Hoare triple {17329#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume #memory_int[main_p1] >= 0; {17329#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2019-02-14 16:27:30,683 INFO L273 TraceCheckUtils]: 5: Hoare triple {17329#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {17325#false} is VALID [2019-02-14 16:27:30,683 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:27:30,683 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:27:30,684 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:27:30,684 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-14 16:27:30,684 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [18], [24], [25] [2019-02-14 16:27:30,686 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:27:30,686 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:27:30,728 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:27:30,728 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-14 16:27:30,728 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:27:30,728 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:27:30,728 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:27:30,728 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 46 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 46 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:27:30,738 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:27:30,738 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:27:30,742 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:27:30,755 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:27:30,755 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:27:30,769 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 [2019-02-14 16:27:30,775 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 [2019-02-14 16:27:30,786 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:30,787 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-14 16:27:30,801 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:30,802 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:30,803 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-14 16:27:30,817 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:30,821 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:30,823 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:30,823 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 [2019-02-14 16:27:30,826 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:27:30,848 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:27:30,861 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:27:30,873 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:27:30,884 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:27:30,901 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:27:30,901 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:28, output treesize:35 [2019-02-14 16:27:30,907 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:27:30,908 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_263|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_263| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:27:30,908 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:27:30,972 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:30,973 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:30,974 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:30,976 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:30,977 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:30,978 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:30,979 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:30,980 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 [2019-02-14 16:27:30,983 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:27:31,013 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:27:31,014 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-02-14 16:27:31,023 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:27:31,024 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_264|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_264| ULTIMATE.start_main_p4))) (and (= |#memory_int| (store |v_#memory_int_264| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 0 (select |v_#memory_int_264| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_264| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_264| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:27:31,024 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:27:31,177 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:31,178 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:31,179 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:31,180 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:31,182 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:31,183 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:31,184 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:31,184 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:27:31,185 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 [2019-02-14 16:27:31,188 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:27:31,222 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:27:31,223 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:42, output treesize:30 [2019-02-14 16:27:31,229 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:27:31,230 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_265|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_265| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_265| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (+ (select |v_#memory_int_265| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |v_#memory_int_265| ULTIMATE.start_main_p5)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_265| ULTIMATE.start_main_p3) 0))) [2019-02-14 16:27:31,230 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:27:31,281 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:31,283 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:31,284 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:31,285 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:31,287 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:31,288 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:31,289 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:31,290 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:31,292 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:31,293 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 69 [2019-02-14 16:27:31,296 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:27:31,332 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:27:31,333 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:44, output treesize:34 [2019-02-14 16:27:31,344 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:27:31,345 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_266|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_266| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_266| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |v_#memory_int_266| ULTIMATE.start_main_p2) 1)) (= 0 (+ (select |v_#memory_int_266| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store |v_#memory_int_266| ULTIMATE.start_main_p3 (+ .cse0 1))) (= .cse0 0))) [2019-02-14 16:27:31,345 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-14 16:27:31,387 INFO L273 TraceCheckUtils]: 0: Hoare triple {17324#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {17333#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-14 16:27:31,389 INFO L273 TraceCheckUtils]: 1: Hoare triple {17333#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {17337#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:27:31,392 INFO L273 TraceCheckUtils]: 2: Hoare triple {17337#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {17341#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:27:31,394 INFO L273 TraceCheckUtils]: 3: Hoare triple {17341#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {17345#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:27:31,395 INFO L273 TraceCheckUtils]: 4: Hoare triple {17345#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {17345#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:27:31,396 INFO L273 TraceCheckUtils]: 5: Hoare triple {17345#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {17325#false} is VALID [2019-02-14 16:27:31,397 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:27:31,397 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:27:31,458 INFO L273 TraceCheckUtils]: 5: Hoare triple {17352#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {17325#false} is VALID [2019-02-14 16:27:31,458 INFO L273 TraceCheckUtils]: 4: Hoare triple {17352#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {17352#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:27:31,459 INFO L273 TraceCheckUtils]: 3: Hoare triple {17359#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {17352#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:27:31,460 INFO L273 TraceCheckUtils]: 2: Hoare triple {17363#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {17359#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:27:31,477 INFO L273 TraceCheckUtils]: 1: Hoare triple {17367#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {17363#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:27:31,483 INFO L273 TraceCheckUtils]: 0: Hoare triple {17324#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {17367#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:27:31,484 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 5 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:27:31,502 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:27:31,502 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2019-02-14 16:27:31,502 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:27:31,503 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2019-02-14 16:27:31,503 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:27:31,503 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-14 16:27:31,523 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:27:31,523 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-14 16:27:31,523 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-14 16:27:31,524 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=111, Unknown=0, NotChecked=0, Total=182 [2019-02-14 16:27:31,524 INFO L87 Difference]: Start difference. First operand 78 states and 367 transitions. Second operand 10 states. [2019-02-14 16:27:34,209 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:27:34,209 INFO L93 Difference]: Finished difference Result 116 states and 427 transitions. [2019-02-14 16:27:34,209 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-02-14 16:27:34,209 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2019-02-14 16:27:34,209 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:27:34,209 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:27:34,210 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 74 transitions. [2019-02-14 16:27:34,210 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:27:34,210 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 74 transitions. [2019-02-14 16:27:34,210 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 74 transitions. [2019-02-14 16:27:34,349 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:27:34,351 INFO L225 Difference]: With dead ends: 116 [2019-02-14 16:27:34,352 INFO L226 Difference]: Without dead ends: 115 [2019-02-14 16:27:34,352 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=89, Invalid=151, Unknown=0, NotChecked=0, Total=240 [2019-02-14 16:27:34,352 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2019-02-14 16:27:35,793 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 79. [2019-02-14 16:27:35,793 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:27:35,793 INFO L82 GeneralOperation]: Start isEquivalent. First operand 115 states. Second operand 79 states. [2019-02-14 16:27:35,794 INFO L74 IsIncluded]: Start isIncluded. First operand 115 states. Second operand 79 states. [2019-02-14 16:27:35,794 INFO L87 Difference]: Start difference. First operand 115 states. Second operand 79 states. [2019-02-14 16:27:35,797 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:27:35,797 INFO L93 Difference]: Finished difference Result 115 states and 425 transitions. [2019-02-14 16:27:35,797 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 425 transitions. [2019-02-14 16:27:35,797 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:27:35,798 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:27:35,798 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand 115 states. [2019-02-14 16:27:35,798 INFO L87 Difference]: Start difference. First operand 79 states. Second operand 115 states. [2019-02-14 16:27:35,800 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:27:35,800 INFO L93 Difference]: Finished difference Result 115 states and 425 transitions. [2019-02-14 16:27:35,800 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 425 transitions. [2019-02-14 16:27:35,800 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:27:35,800 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:27:35,801 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:27:35,801 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:27:35,801 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 79 states. [2019-02-14 16:27:35,802 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 79 states to 79 states and 373 transitions. [2019-02-14 16:27:35,802 INFO L78 Accepts]: Start accepts. Automaton has 79 states and 373 transitions. Word has length 6 [2019-02-14 16:27:35,803 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:27:35,803 INFO L480 AbstractCegarLoop]: Abstraction has 79 states and 373 transitions. [2019-02-14 16:27:35,803 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-14 16:27:35,803 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 373 transitions. [2019-02-14 16:27:35,803 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-14 16:27:35,803 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:27:35,803 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-14 16:27:35,803 INFO L423 AbstractCegarLoop]: === Iteration 49 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:27:35,803 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:27:35,804 INFO L82 PathProgramCache]: Analyzing trace with hash 904550232, now seen corresponding path program 1 times [2019-02-14 16:27:35,804 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:27:35,804 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:27:35,804 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:27:35,804 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:27:35,804 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:27:35,807 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:27:36,025 INFO L273 TraceCheckUtils]: 0: Hoare triple {17921#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {17923#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:27:36,027 INFO L273 TraceCheckUtils]: 1: Hoare triple {17923#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {17924#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:27:36,028 INFO L273 TraceCheckUtils]: 2: Hoare triple {17924#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {17925#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:27:36,029 INFO L273 TraceCheckUtils]: 3: Hoare triple {17925#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {17926#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:27:36,030 INFO L273 TraceCheckUtils]: 4: Hoare triple {17926#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {17927#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:27:36,030 INFO L273 TraceCheckUtils]: 5: Hoare triple {17927#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {17922#false} is VALID [2019-02-14 16:27:36,031 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:27:36,031 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:27:36,031 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:27:36,031 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-14 16:27:36,032 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [14], [18], [23] [2019-02-14 16:27:36,032 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:27:36,032 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:27:36,042 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:27:36,042 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 4 fixpoints after 4 different actions. Largest state had 0 variables. [2019-02-14 16:27:36,043 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:27:36,043 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:27:36,043 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:27:36,043 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 47 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 47 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:27:36,054 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:27:36,054 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:27:36,058 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:27:36,066 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:27:36,066 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:27:36,089 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 [2019-02-14 16:27:36,095 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,095 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 [2019-02-14 16:27:36,105 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,106 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,107 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 [2019-02-14 16:27:36,120 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,121 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,122 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,123 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 [2019-02-14 16:27:36,141 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,142 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,143 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,144 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,145 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 [2019-02-14 16:27:36,148 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:27:36,178 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:27:36,192 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:27:36,205 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:27:36,216 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:27:36,236 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. [2019-02-14 16:27:36,236 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-14 16:27:36,242 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:27:36,243 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_270|, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_270| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:27:36,243 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:27:36,302 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,304 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,305 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,306 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,307 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,309 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,310 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,311 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,312 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,313 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,314 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,315 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2019-02-14 16:27:36,318 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:27:36,362 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:27:36,363 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-14 16:27:36,374 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:27:36,374 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_271|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_271| ULTIMATE.start_main_p4))) (and (= 0 .cse0) (= (select |v_#memory_int_271| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_271| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_271| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_271| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_271| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:27:36,374 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:27:36,454 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,455 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,456 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,457 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,459 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,460 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,461 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,462 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,463 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,465 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,466 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,467 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,468 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,469 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 88 [2019-02-14 16:27:36,472 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:27:36,543 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:27:36,543 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-14 16:27:36,574 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:27:36,574 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_272|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_272| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_272| ULTIMATE.start_main_p5) 0) (= (+ (select |v_#memory_int_272| ULTIMATE.start_main_p4) 1) 0) (= .cse0 0) (= 0 (select |v_#memory_int_272| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_272| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_272| ULTIMATE.start_main_p2)))) [2019-02-14 16:27:36,574 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:27:36,640 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,641 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,642 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,643 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,644 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,645 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,646 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,648 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,649 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,650 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,651 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,652 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,653 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,654 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,655 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,656 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:27:36,657 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 104 [2019-02-14 16:27:36,661 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:27:36,718 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:27:36,719 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-14 16:27:36,727 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:27:36,728 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_273|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_273| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_273| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_273| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (+ (select |v_#memory_int_273| ULTIMATE.start_main_p4) 1) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_273| ULTIMATE.start_main_p5) 0) (= 1 (select |v_#memory_int_273| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:27:36,728 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:27:36,947 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,948 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,949 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,951 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,952 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,953 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,954 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,956 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,957 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,958 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,960 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,961 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,961 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:27:36,962 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:36,963 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 97 [2019-02-14 16:27:36,967 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:27:37,018 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:27:37,019 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2019-02-14 16:27:37,039 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:27:37,039 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_274|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_274| ULTIMATE.start_main_p2))) (and (= 0 (+ (select |v_#memory_int_274| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_274| ULTIMATE.start_main_p1) 1) (= (select |v_#memory_int_274| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_274| ULTIMATE.start_main_p3) 1) (= |#memory_int| (store |v_#memory_int_274| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:27:37,039 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:27:37,098 INFO L273 TraceCheckUtils]: 0: Hoare triple {17921#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {17931#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:27:37,101 INFO L273 TraceCheckUtils]: 1: Hoare triple {17931#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {17935#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:27:37,104 INFO L273 TraceCheckUtils]: 2: Hoare triple {17935#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {17939#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:27:37,106 INFO L273 TraceCheckUtils]: 3: Hoare triple {17939#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {17943#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:27:37,112 INFO L273 TraceCheckUtils]: 4: Hoare triple {17943#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {17947#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-02-14 16:27:37,112 INFO L273 TraceCheckUtils]: 5: Hoare triple {17947#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {17922#false} is VALID [2019-02-14 16:27:37,113 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:27:37,113 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:27:37,200 INFO L273 TraceCheckUtils]: 5: Hoare triple {17951#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {17922#false} is VALID [2019-02-14 16:27:37,201 INFO L273 TraceCheckUtils]: 4: Hoare triple {17955#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {17951#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:27:37,203 INFO L273 TraceCheckUtils]: 3: Hoare triple {17959#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {17955#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:27:37,204 INFO L273 TraceCheckUtils]: 2: Hoare triple {17963#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {17959#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:27:37,206 INFO L273 TraceCheckUtils]: 1: Hoare triple {17967#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {17963#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:27:37,209 INFO L273 TraceCheckUtils]: 0: Hoare triple {17921#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {17967#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:27:37,209 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 6 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:27:37,228 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:27:37,228 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2019-02-14 16:27:37,228 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:27:37,229 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2019-02-14 16:27:37,229 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:27:37,229 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-02-14 16:27:37,257 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:27:37,257 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-02-14 16:27:37,257 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-02-14 16:27:37,258 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=102, Invalid=170, Unknown=0, NotChecked=0, Total=272 [2019-02-14 16:27:37,258 INFO L87 Difference]: Start difference. First operand 79 states and 373 transitions. Second operand 12 states. [2019-02-14 16:27:41,220 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:27:41,220 INFO L93 Difference]: Finished difference Result 140 states and 516 transitions. [2019-02-14 16:27:41,221 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-02-14 16:27:41,221 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2019-02-14 16:27:41,221 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:27:41,221 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-14 16:27:41,221 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2019-02-14 16:27:41,221 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-14 16:27:41,222 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 89 transitions. [2019-02-14 16:27:41,222 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 89 transitions. [2019-02-14 16:27:41,452 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:27:41,456 INFO L225 Difference]: With dead ends: 140 [2019-02-14 16:27:41,456 INFO L226 Difference]: Without dead ends: 139 [2019-02-14 16:27:41,457 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 100 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=134, Invalid=246, Unknown=0, NotChecked=0, Total=380 [2019-02-14 16:27:41,457 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 139 states. [2019-02-14 16:27:42,755 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 139 to 76. [2019-02-14 16:27:42,755 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:27:42,755 INFO L82 GeneralOperation]: Start isEquivalent. First operand 139 states. Second operand 76 states. [2019-02-14 16:27:42,756 INFO L74 IsIncluded]: Start isIncluded. First operand 139 states. Second operand 76 states. [2019-02-14 16:27:42,756 INFO L87 Difference]: Start difference. First operand 139 states. Second operand 76 states. [2019-02-14 16:27:42,760 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:27:42,760 INFO L93 Difference]: Finished difference Result 139 states and 514 transitions. [2019-02-14 16:27:42,760 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 514 transitions. [2019-02-14 16:27:42,760 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:27:42,761 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:27:42,761 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand 139 states. [2019-02-14 16:27:42,761 INFO L87 Difference]: Start difference. First operand 76 states. Second operand 139 states. [2019-02-14 16:27:42,763 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:27:42,764 INFO L93 Difference]: Finished difference Result 139 states and 514 transitions. [2019-02-14 16:27:42,764 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 514 transitions. [2019-02-14 16:27:42,764 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:27:42,764 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:27:42,764 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:27:42,764 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:27:42,764 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 76 states. [2019-02-14 16:27:42,766 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 76 states to 76 states and 355 transitions. [2019-02-14 16:27:42,766 INFO L78 Accepts]: Start accepts. Automaton has 76 states and 355 transitions. Word has length 6 [2019-02-14 16:27:42,766 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:27:42,766 INFO L480 AbstractCegarLoop]: Abstraction has 76 states and 355 transitions. [2019-02-14 16:27:42,766 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-02-14 16:27:42,766 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 355 transitions. [2019-02-14 16:27:42,766 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-14 16:27:42,766 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:27:42,767 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-14 16:27:42,767 INFO L423 AbstractCegarLoop]: === Iteration 50 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:27:42,767 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:27:42,767 INFO L82 PathProgramCache]: Analyzing trace with hash 904568030, now seen corresponding path program 1 times [2019-02-14 16:27:42,767 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:27:42,767 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:27:42,768 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:27:42,768 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:27:42,768 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:27:42,770 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:27:42,885 INFO L273 TraceCheckUtils]: 0: Hoare triple {18602#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {18604#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:27:42,886 INFO L273 TraceCheckUtils]: 1: Hoare triple {18604#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {18605#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-14 16:27:42,887 INFO L273 TraceCheckUtils]: 2: Hoare triple {18605#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:27:42,887 INFO L273 TraceCheckUtils]: 3: Hoare triple {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:27:42,888 INFO L273 TraceCheckUtils]: 4: Hoare triple {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:27:42,888 INFO L273 TraceCheckUtils]: 5: Hoare triple {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {18603#false} is VALID [2019-02-14 16:27:42,888 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:27:42,888 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:27:42,888 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:27:42,888 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-14 16:27:42,889 INFO L207 CegarAbsIntRunner]: [0], [14], [18], [24], [26], [27] [2019-02-14 16:27:42,889 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:27:42,890 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:27:42,903 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:27:42,904 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-14 16:27:42,904 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:27:42,904 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:27:42,905 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:27:42,905 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 48 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 48 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:27:42,913 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:27:42,913 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:27:42,917 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:27:42,920 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:27:42,921 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:27:42,943 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 [2019-02-14 16:27:42,955 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 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 [2019-02-14 16:27:42,972 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 25 [2019-02-14 16:27:42,985 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:42,986 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 31 [2019-02-14 16:27:42,999 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:43,007 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:43,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, 3 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 38 [2019-02-14 16:27:43,011 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:27:43,027 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:27:43,038 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:27:43,049 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:27:43,060 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:27:43,076 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:27:43,076 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:25, output treesize:32 [2019-02-14 16:27:43,086 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:27:43,086 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_279|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (= |#memory_int| (store (store (store (store (store |v_#memory_int_279| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-14 16:27:43,086 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:27:43,133 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:43,134 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:43,135 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:43,136 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:43,137 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 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 [2019-02-14 16:27:43,139 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:27:43,155 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:27:43,155 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-02-14 16:27:43,162 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:27:43,162 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_280|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_280| ULTIMATE.start_main_p4))) (and (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_280| ULTIMATE.start_main_p3) 0) (= 0 (select |v_#memory_int_280| ULTIMATE.start_main_p5)) (= (store |v_#memory_int_280| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) [2019-02-14 16:27:43,162 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-14 16:27:43,198 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:43,199 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:43,200 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:43,201 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:43,202 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:43,203 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:43,204 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 [2019-02-14 16:27:43,207 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:27:43,230 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:27:43,231 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-02-14 16:27:43,236 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:27:43,236 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_281|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_281| ULTIMATE.start_main_p3))) (and (= (store |v_#memory_int_281| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (select |v_#memory_int_281| ULTIMATE.start_main_p5) 0) (= (+ (select |v_#memory_int_281| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) [2019-02-14 16:27:43,237 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-14 16:27:43,275 INFO L273 TraceCheckUtils]: 0: Hoare triple {18602#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {18610#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-14 16:27:43,276 INFO L273 TraceCheckUtils]: 1: Hoare triple {18610#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {18614#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:27:43,278 INFO L273 TraceCheckUtils]: 2: Hoare triple {18614#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {18618#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:27:43,279 INFO L273 TraceCheckUtils]: 3: Hoare triple {18618#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {18618#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:27:43,280 INFO L273 TraceCheckUtils]: 4: Hoare triple {18618#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {18618#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:27:43,281 INFO L273 TraceCheckUtils]: 5: Hoare triple {18618#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {18603#false} is VALID [2019-02-14 16:27:43,281 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:27:43,281 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:27:43,321 INFO L273 TraceCheckUtils]: 5: Hoare triple {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {18603#false} is VALID [2019-02-14 16:27:43,323 INFO L273 TraceCheckUtils]: 4: Hoare triple {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:27:43,323 INFO L273 TraceCheckUtils]: 3: Hoare triple {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:27:43,326 INFO L273 TraceCheckUtils]: 2: Hoare triple {18637#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {18606#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:27:43,326 INFO L273 TraceCheckUtils]: 1: Hoare triple {18641#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {18637#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1))} is VALID [2019-02-14 16:27:43,328 INFO L273 TraceCheckUtils]: 0: Hoare triple {18602#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {18641#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1))} is VALID [2019-02-14 16:27:43,328 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:27:43,347 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:27:43,347 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2019-02-14 16:27:43,347 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:27:43,347 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2019-02-14 16:27:43,347 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:27:43,347 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-14 16:27:43,365 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:27:43,365 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-14 16:27:43,365 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-14 16:27:43,365 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=39, Invalid=51, Unknown=0, NotChecked=0, Total=90 [2019-02-14 16:27:43,366 INFO L87 Difference]: Start difference. First operand 76 states and 355 transitions. Second operand 8 states. [2019-02-14 16:27:46,137 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:27:46,137 INFO L93 Difference]: Finished difference Result 112 states and 470 transitions. [2019-02-14 16:27:46,137 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-14 16:27:46,138 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2019-02-14 16:27:46,138 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:27:46,138 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:27:46,138 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2019-02-14 16:27:46,138 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:27:46,138 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2019-02-14 16:27:46,138 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 59 transitions. [2019-02-14 16:27:46,210 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:27:46,213 INFO L225 Difference]: With dead ends: 112 [2019-02-14 16:27:46,213 INFO L226 Difference]: Without dead ends: 111 [2019-02-14 16:27:46,213 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=47, Invalid=63, Unknown=0, NotChecked=0, Total=110 [2019-02-14 16:27:46,213 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 111 states. [2019-02-14 16:27:47,880 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 111 to 80. [2019-02-14 16:27:47,880 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:27:47,880 INFO L82 GeneralOperation]: Start isEquivalent. First operand 111 states. Second operand 80 states. [2019-02-14 16:27:47,880 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand 80 states. [2019-02-14 16:27:47,880 INFO L87 Difference]: Start difference. First operand 111 states. Second operand 80 states. [2019-02-14 16:27:47,883 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:27:47,884 INFO L93 Difference]: Finished difference Result 111 states and 468 transitions. [2019-02-14 16:27:47,884 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 468 transitions. [2019-02-14 16:27:47,884 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:27:47,884 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:27:47,884 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand 111 states. [2019-02-14 16:27:47,884 INFO L87 Difference]: Start difference. First operand 80 states. Second operand 111 states. [2019-02-14 16:27:47,886 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:27:47,887 INFO L93 Difference]: Finished difference Result 111 states and 468 transitions. [2019-02-14 16:27:47,887 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 468 transitions. [2019-02-14 16:27:47,887 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:27:47,887 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:27:47,887 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:27:47,887 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:27:47,887 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 80 states. [2019-02-14 16:27:47,889 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 80 states to 80 states and 380 transitions. [2019-02-14 16:27:47,889 INFO L78 Accepts]: Start accepts. Automaton has 80 states and 380 transitions. Word has length 6 [2019-02-14 16:27:47,889 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:27:47,889 INFO L480 AbstractCegarLoop]: Abstraction has 80 states and 380 transitions. [2019-02-14 16:27:47,889 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-14 16:27:47,889 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 380 transitions. [2019-02-14 16:27:47,889 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-14 16:27:47,889 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:27:47,890 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-14 16:27:47,890 INFO L423 AbstractCegarLoop]: === Iteration 51 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:27:47,890 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:27:47,890 INFO L82 PathProgramCache]: Analyzing trace with hash 906170478, now seen corresponding path program 2 times [2019-02-14 16:27:47,890 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:27:47,890 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:27:47,891 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:27:47,891 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:27:47,891 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:27:47,893 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:27:48,142 INFO L273 TraceCheckUtils]: 0: Hoare triple {19192#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {19194#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:27:48,143 INFO L273 TraceCheckUtils]: 1: Hoare triple {19194#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {19195#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:27:48,144 INFO L273 TraceCheckUtils]: 2: Hoare triple {19195#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {19196#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:27:48,145 INFO L273 TraceCheckUtils]: 3: Hoare triple {19196#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {19197#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:27:48,146 INFO L273 TraceCheckUtils]: 4: Hoare triple {19197#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {19198#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:27:48,147 INFO L273 TraceCheckUtils]: 5: Hoare triple {19198#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {19193#false} is VALID [2019-02-14 16:27:48,147 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:27:48,148 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:27:48,148 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:27:48,148 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2019-02-14 16:27:48,148 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2019-02-14 16:27:48,148 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:27:48,148 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 49 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 49 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:27:48,158 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2019-02-14 16:27:48,159 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2019-02-14 16:27:48,165 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2019-02-14 16:27:48,165 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2019-02-14 16:27:48,168 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:27:48,169 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:27:48,200 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2019-02-14 16:27:48,206 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,207 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 [2019-02-14 16:27:48,218 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,220 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,220 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 [2019-02-14 16:27:48,236 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,238 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,239 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,240 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 [2019-02-14 16:27:48,262 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,263 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,265 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,266 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,267 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 [2019-02-14 16:27:48,272 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:27:48,304 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:27:48,321 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:27:48,334 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:27:48,347 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:27:48,368 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. [2019-02-14 16:27:48,369 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-14 16:27:48,379 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:27:48,379 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_284|, ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_284| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:27:48,380 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:27:48,449 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,450 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,452 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,453 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,454 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,456 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,457 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,459 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,471 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,478 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,478 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,479 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2019-02-14 16:27:48,482 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:27:48,529 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:27:48,529 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-14 16:27:48,696 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:27:48,696 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_285|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_285| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 .cse0) (= (select |v_#memory_int_285| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_285| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_285| ULTIMATE.start_main_p5 (+ .cse0 1))) (= 0 (select |v_#memory_int_285| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_285| ULTIMATE.start_main_p4)))) [2019-02-14 16:27:48,696 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:27:48,764 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,765 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,766 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,768 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,769 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,770 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,771 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,773 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,774 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,775 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,776 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,777 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,778 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:27:48,779 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 80 [2019-02-14 16:27:48,783 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:27:48,833 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:27:48,834 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-14 16:27:48,848 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:27:48,849 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_286|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_286| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_286| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_286| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_286| ULTIMATE.start_main_p5) 1) (= (select |v_#memory_int_286| ULTIMATE.start_main_p4) 0) (= 0 .cse0) (= (select |v_#memory_int_286| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:27:48,849 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:27:48,914 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,915 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,916 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,917 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,918 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,920 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,921 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,923 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,924 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,925 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,927 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,928 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,929 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:48,930 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 78 [2019-02-14 16:27:48,934 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:27:48,984 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:27:48,985 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-14 16:27:48,994 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:27:48,995 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_287|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_287| ULTIMATE.start_main_p4))) (and (= |#memory_int| (store |v_#memory_int_287| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= (select |v_#memory_int_287| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_287| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_287| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 .cse0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 1 (select |v_#memory_int_287| ULTIMATE.start_main_p1)))) [2019-02-14 16:27:48,995 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:27:49,060 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:49,061 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:49,063 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:49,064 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:49,065 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:49,066 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:49,068 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:49,069 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:49,070 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:49,071 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:49,073 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:49,074 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:49,074 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:27:49,075 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:27:49,076 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 93 [2019-02-14 16:27:49,081 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:27:49,138 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:27:49,139 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2019-02-14 16:27:51,294 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:27:51,295 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_288|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_288| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_288| ULTIMATE.start_main_p3) 0) (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_288| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (+ (select |v_#memory_int_288| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_288| ULTIMATE.start_main_p5) 1) (= 1 (select |v_#memory_int_288| ULTIMATE.start_main_p1)))) [2019-02-14 16:27:51,295 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:27:51,405 INFO L273 TraceCheckUtils]: 0: Hoare triple {19192#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {19202#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:27:51,408 INFO L273 TraceCheckUtils]: 1: Hoare triple {19202#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {19206#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:27:51,410 INFO L273 TraceCheckUtils]: 2: Hoare triple {19206#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {19210#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:27:51,414 INFO L273 TraceCheckUtils]: 3: Hoare triple {19210#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {19214#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:27:51,420 INFO L273 TraceCheckUtils]: 4: Hoare triple {19214#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {19218#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-02-14 16:27:51,420 INFO L273 TraceCheckUtils]: 5: Hoare triple {19218#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {19193#false} is VALID [2019-02-14 16:27:51,421 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:27:51,421 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:27:51,516 INFO L273 TraceCheckUtils]: 5: Hoare triple {19222#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {19193#false} is VALID [2019-02-14 16:27:51,517 INFO L273 TraceCheckUtils]: 4: Hoare triple {19226#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {19222#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:27:51,519 INFO L273 TraceCheckUtils]: 3: Hoare triple {19230#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {19226#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:27:51,520 INFO L273 TraceCheckUtils]: 2: Hoare triple {19234#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {19230#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:27:51,523 INFO L273 TraceCheckUtils]: 1: Hoare triple {19238#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {19234#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:27:51,525 INFO L273 TraceCheckUtils]: 0: Hoare triple {19192#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {19238#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:27:51,526 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 5 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:27:51,545 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:27:51,546 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2019-02-14 16:27:51,546 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:27:51,546 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2019-02-14 16:27:51,546 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:27:51,546 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-02-14 16:27:51,571 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:27:51,571 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-02-14 16:27:51,571 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-02-14 16:27:51,572 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=100, Invalid=172, Unknown=0, NotChecked=0, Total=272 [2019-02-14 16:27:51,572 INFO L87 Difference]: Start difference. First operand 80 states and 380 transitions. Second operand 12 states. [2019-02-14 16:27:58,449 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:27:58,449 INFO L93 Difference]: Finished difference Result 137 states and 479 transitions. [2019-02-14 16:27:58,449 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-02-14 16:27:58,449 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2019-02-14 16:27:58,449 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:27:58,449 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-14 16:27:58,450 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 94 transitions. [2019-02-14 16:27:58,450 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-14 16:27:58,450 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 94 transitions. [2019-02-14 16:27:58,450 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 94 transitions. [2019-02-14 16:27:58,668 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:27:58,672 INFO L225 Difference]: With dead ends: 137 [2019-02-14 16:27:58,672 INFO L226 Difference]: Without dead ends: 135 [2019-02-14 16:27:58,672 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 99 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=132, Invalid=248, Unknown=0, NotChecked=0, Total=380 [2019-02-14 16:27:58,672 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 135 states. [2019-02-14 16:28:00,605 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 135 to 77. [2019-02-14 16:28:00,605 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:28:00,605 INFO L82 GeneralOperation]: Start isEquivalent. First operand 135 states. Second operand 77 states. [2019-02-14 16:28:00,605 INFO L74 IsIncluded]: Start isIncluded. First operand 135 states. Second operand 77 states. [2019-02-14 16:28:00,605 INFO L87 Difference]: Start difference. First operand 135 states. Second operand 77 states. [2019-02-14 16:28:00,608 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:28:00,609 INFO L93 Difference]: Finished difference Result 135 states and 474 transitions. [2019-02-14 16:28:00,609 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 474 transitions. [2019-02-14 16:28:00,609 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:28:00,609 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:28:00,609 INFO L74 IsIncluded]: Start isIncluded. First operand 77 states. Second operand 135 states. [2019-02-14 16:28:00,610 INFO L87 Difference]: Start difference. First operand 77 states. Second operand 135 states. [2019-02-14 16:28:00,612 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:28:00,612 INFO L93 Difference]: Finished difference Result 135 states and 474 transitions. [2019-02-14 16:28:00,612 INFO L276 IsEmpty]: Start isEmpty. Operand 135 states and 474 transitions. [2019-02-14 16:28:00,613 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:28:00,613 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:28:00,613 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:28:00,613 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:28:00,613 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 77 states. [2019-02-14 16:28:00,615 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 77 states to 77 states and 361 transitions. [2019-02-14 16:28:00,615 INFO L78 Accepts]: Start accepts. Automaton has 77 states and 361 transitions. Word has length 6 [2019-02-14 16:28:00,615 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:28:00,615 INFO L480 AbstractCegarLoop]: Abstraction has 77 states and 361 transitions. [2019-02-14 16:28:00,615 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-02-14 16:28:00,615 INFO L276 IsEmpty]: Start isEmpty. Operand 77 states and 361 transitions. [2019-02-14 16:28:00,615 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-14 16:28:00,616 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:28:00,616 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-14 16:28:00,616 INFO L423 AbstractCegarLoop]: === Iteration 52 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:28:00,616 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:28:00,616 INFO L82 PathProgramCache]: Analyzing trace with hash 906163226, now seen corresponding path program 1 times [2019-02-14 16:28:00,616 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:28:00,617 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:28:00,617 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2019-02-14 16:28:00,617 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:28:00,617 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:28:00,621 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:28:01,014 INFO L273 TraceCheckUtils]: 0: Hoare triple {19857#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {19859#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:28:01,015 INFO L273 TraceCheckUtils]: 1: Hoare triple {19859#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {19860#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:28:01,016 INFO L273 TraceCheckUtils]: 2: Hoare triple {19860#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {19860#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:28:01,017 INFO L273 TraceCheckUtils]: 3: Hoare triple {19860#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {19861#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2019-02-14 16:28:01,018 INFO L273 TraceCheckUtils]: 4: Hoare triple {19861#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {19862#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:28:01,018 INFO L273 TraceCheckUtils]: 5: Hoare triple {19862#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {19858#false} is VALID [2019-02-14 16:28:01,019 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-14 16:28:01,019 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:28:01,019 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:28:01,019 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-14 16:28:01,020 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [20], [24], [25] [2019-02-14 16:28:01,020 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:28:01,020 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:28:01,032 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:28:01,033 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-14 16:28:01,033 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:28:01,033 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:28:01,033 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:28:01,033 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 50 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 50 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:28:01,044 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:28:01,044 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:28:01,049 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:28:01,055 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:28:01,055 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:28:01,081 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 [2019-02-14 16:28:01,090 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,091 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 [2019-02-14 16:28:01,103 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,104 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,105 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 [2019-02-14 16:28:01,123 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,124 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,126 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,127 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 [2019-02-14 16:28:01,150 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,151 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,152 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,154 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,155 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 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 [2019-02-14 16:28:01,163 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:28:01,207 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:28:01,223 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:28:01,236 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:28:01,248 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:28:01,273 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:28:01,273 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2019-02-14 16:28:01,281 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:28:01,282 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_293|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_293| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:28:01,282 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:28:01,351 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,353 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,354 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,355 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,356 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,358 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,359 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,360 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,361 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,363 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,364 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,365 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2019-02-14 16:28:01,372 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:28:01,419 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:28:01,419 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-14 16:28:01,584 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:28:01,585 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_294|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_294| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_294| ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_294| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_294| ULTIMATE.start_main_p1)) (= 0 .cse0) (= 0 (select |v_#memory_int_294| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_294| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:28:01,585 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:28:01,653 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,655 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,656 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,658 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,659 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,660 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,662 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,663 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,664 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,666 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,667 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,668 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,669 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:28:01,670 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 80 [2019-02-14 16:28:01,674 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:28:01,730 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:28:01,730 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-14 16:28:01,790 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:28:01,790 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_295|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_295| ULTIMATE.start_main_p1))) (and (= |#memory_int| (store |v_#memory_int_295| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_295| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_295| ULTIMATE.start_main_p4) 0) (= 1 (select |v_#memory_int_295| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 .cse0) (= 0 (select |v_#memory_int_295| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:28:01,790 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:28:01,864 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,866 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,867 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,868 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,869 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,871 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,872 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,873 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,874 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,875 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,877 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,878 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,879 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:01,880 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 86 [2019-02-14 16:28:01,885 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:28:01,941 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:28:01,942 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-14 16:28:02,050 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:28:02,051 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_296|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_296| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_296| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_296| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_296| ULTIMATE.start_main_p1) 1) (= (select |v_#memory_int_296| ULTIMATE.start_main_p5) 1) (= (select |v_#memory_int_296| ULTIMATE.start_main_p4) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:28:02,051 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:28:02,132 INFO L273 TraceCheckUtils]: 0: Hoare triple {19857#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {19866#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:28:02,138 INFO L273 TraceCheckUtils]: 1: Hoare triple {19866#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {19870#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:28:02,140 INFO L273 TraceCheckUtils]: 2: Hoare triple {19870#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {19874#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-14 16:28:02,144 INFO L273 TraceCheckUtils]: 3: Hoare triple {19874#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {19878#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-14 16:28:02,145 INFO L273 TraceCheckUtils]: 4: Hoare triple {19878#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {19878#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-14 16:28:02,146 INFO L273 TraceCheckUtils]: 5: Hoare triple {19878#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p2] <= 0); {19858#false} is VALID [2019-02-14 16:28:02,146 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:28:02,146 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:28:02,195 INFO L273 TraceCheckUtils]: 5: Hoare triple {19862#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {19858#false} is VALID [2019-02-14 16:28:02,196 INFO L273 TraceCheckUtils]: 4: Hoare triple {19862#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {19862#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:28:02,197 INFO L273 TraceCheckUtils]: 3: Hoare triple {19891#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {19862#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:28:02,198 INFO L273 TraceCheckUtils]: 2: Hoare triple {19895#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {19891#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2019-02-14 16:28:02,199 INFO L273 TraceCheckUtils]: 1: Hoare triple {19899#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {19895#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2019-02-14 16:28:02,202 INFO L273 TraceCheckUtils]: 0: Hoare triple {19857#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {19899#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2019-02-14 16:28:02,202 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:28:02,220 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:28:02,221 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2019-02-14 16:28:02,221 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:28:02,221 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2019-02-14 16:28:02,221 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:28:02,221 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-14 16:28:02,244 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:28:02,244 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-14 16:28:02,245 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-14 16:28:02,245 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=93, Unknown=0, NotChecked=0, Total=156 [2019-02-14 16:28:02,245 INFO L87 Difference]: Start difference. First operand 77 states and 361 transitions. Second operand 10 states. [2019-02-14 16:28:08,098 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:28:08,098 INFO L93 Difference]: Finished difference Result 124 states and 454 transitions. [2019-02-14 16:28:08,098 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-02-14 16:28:08,098 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2019-02-14 16:28:08,098 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:28:08,098 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:28:08,099 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 77 transitions. [2019-02-14 16:28:08,099 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:28:08,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 77 transitions. [2019-02-14 16:28:08,100 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 77 transitions. [2019-02-14 16:28:08,235 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:28:08,238 INFO L225 Difference]: With dead ends: 124 [2019-02-14 16:28:08,238 INFO L226 Difference]: Without dead ends: 123 [2019-02-14 16:28:08,238 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 51 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=91, Invalid=149, Unknown=0, NotChecked=0, Total=240 [2019-02-14 16:28:08,238 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 123 states. [2019-02-14 16:28:10,606 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 123 to 84. [2019-02-14 16:28:10,606 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:28:10,606 INFO L82 GeneralOperation]: Start isEquivalent. First operand 123 states. Second operand 84 states. [2019-02-14 16:28:10,606 INFO L74 IsIncluded]: Start isIncluded. First operand 123 states. Second operand 84 states. [2019-02-14 16:28:10,606 INFO L87 Difference]: Start difference. First operand 123 states. Second operand 84 states. [2019-02-14 16:28:10,609 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:28:10,610 INFO L93 Difference]: Finished difference Result 123 states and 452 transitions. [2019-02-14 16:28:10,610 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 452 transitions. [2019-02-14 16:28:10,610 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:28:10,610 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:28:10,610 INFO L74 IsIncluded]: Start isIncluded. First operand 84 states. Second operand 123 states. [2019-02-14 16:28:10,610 INFO L87 Difference]: Start difference. First operand 84 states. Second operand 123 states. [2019-02-14 16:28:10,614 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:28:10,614 INFO L93 Difference]: Finished difference Result 123 states and 452 transitions. [2019-02-14 16:28:10,614 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 452 transitions. [2019-02-14 16:28:10,614 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:28:10,614 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:28:10,615 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:28:10,615 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:28:10,615 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 84 states. [2019-02-14 16:28:10,617 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 84 states to 84 states and 403 transitions. [2019-02-14 16:28:10,617 INFO L78 Accepts]: Start accepts. Automaton has 84 states and 403 transitions. Word has length 6 [2019-02-14 16:28:10,617 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:28:10,618 INFO L480 AbstractCegarLoop]: Abstraction has 84 states and 403 transitions. [2019-02-14 16:28:10,618 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-14 16:28:10,618 INFO L276 IsEmpty]: Start isEmpty. Operand 84 states and 403 transitions. [2019-02-14 16:28:10,618 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-14 16:28:10,618 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:28:10,618 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-14 16:28:10,619 INFO L423 AbstractCegarLoop]: === Iteration 53 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:28:10,619 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:28:10,619 INFO L82 PathProgramCache]: Analyzing trace with hash 906167070, now seen corresponding path program 1 times [2019-02-14 16:28:10,619 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:28:10,620 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:28:10,620 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:28:10,620 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:28:10,620 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:28:10,623 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:28:10,814 INFO L273 TraceCheckUtils]: 0: Hoare triple {20493#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {20495#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:28:10,815 INFO L273 TraceCheckUtils]: 1: Hoare triple {20495#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {20496#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:28:10,816 INFO L273 TraceCheckUtils]: 2: Hoare triple {20496#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {20496#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:28:10,817 INFO L273 TraceCheckUtils]: 3: Hoare triple {20496#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {20497#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:28:10,817 INFO L273 TraceCheckUtils]: 4: Hoare triple {20497#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {20497#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:28:10,817 INFO L273 TraceCheckUtils]: 5: Hoare triple {20497#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {20494#false} is VALID [2019-02-14 16:28:10,818 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-14 16:28:10,818 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:28:10,818 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:28:10,818 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-14 16:28:10,818 INFO L207 CegarAbsIntRunner]: [0], [6], [14], [20], [24], [25] [2019-02-14 16:28:10,819 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:28:10,820 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:28:10,827 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:28:10,827 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-14 16:28:10,827 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:28:10,827 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:28:10,828 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:28:10,828 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 51 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 51 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:28:10,837 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:28:10,837 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:28:10,841 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:28:10,844 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:28:10,845 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:28:10,878 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 [2019-02-14 16:28:10,886 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:10,887 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 [2019-02-14 16:28:10,898 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:10,899 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:10,900 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 [2019-02-14 16:28:10,915 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:10,917 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:10,918 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:10,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 [2019-02-14 16:28:10,939 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:10,941 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:10,942 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:10,943 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:10,944 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 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 [2019-02-14 16:28:10,949 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:28:10,979 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:28:10,996 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:28:11,010 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:28:11,023 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:28:11,047 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. [2019-02-14 16:28:11,048 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-14 16:28:11,058 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:28:11,058 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_300|, ULTIMATE.start_main_p4]. (and (= (store (store (store (store (store |v_#memory_int_300| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:28:11,058 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:28:11,121 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:11,123 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:11,124 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:11,125 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:11,127 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:11,128 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:11,129 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:11,130 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:11,131 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:11,133 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:11,134 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:11,135 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2019-02-14 16:28:11,140 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:28:11,190 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:28:11,190 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-14 16:28:13,197 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:28:13,197 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_301|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_301| ULTIMATE.start_main_p5))) (and (= 0 (select |v_#memory_int_301| ULTIMATE.start_main_p4)) (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_301| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_301| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_301| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_301| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:28:13,197 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:28:13,269 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:13,270 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:13,271 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:13,272 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:13,274 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:13,275 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:13,276 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:13,277 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:13,279 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:13,280 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:13,281 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:13,282 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:13,282 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:28:13,283 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 80 [2019-02-14 16:28:13,289 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:28:13,339 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:28:13,340 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-14 16:28:15,419 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:28:15,419 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_302|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_302| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_302| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (select |v_#memory_int_302| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_302| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_302| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_302| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:28:15,419 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:28:15,578 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:15,580 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:15,581 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:15,582 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:15,584 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:15,585 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:15,586 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:15,588 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:15,589 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:15,590 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:15,591 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:15,593 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:15,593 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:28:15,594 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 80 [2019-02-14 16:28:15,599 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:28:15,651 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:28:15,652 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-14 16:28:15,683 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:28:15,683 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_303|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_303| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_303| ULTIMATE.start_main_p2) 0) (= 0 .cse0) (= 1 (select |v_#memory_int_303| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_303| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (select |v_#memory_int_303| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_303| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:28:15,683 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:28:15,748 INFO L273 TraceCheckUtils]: 0: Hoare triple {20493#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {20501#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:28:15,750 INFO L273 TraceCheckUtils]: 1: Hoare triple {20501#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {20505#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:28:15,753 INFO L273 TraceCheckUtils]: 2: Hoare triple {20505#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {20509#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:28:15,756 INFO L273 TraceCheckUtils]: 3: Hoare triple {20509#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {20513#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:28:15,757 INFO L273 TraceCheckUtils]: 4: Hoare triple {20513#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {20513#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:28:15,758 INFO L273 TraceCheckUtils]: 5: Hoare triple {20513#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {20494#false} is VALID [2019-02-14 16:28:15,758 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:28:15,758 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:28:15,825 INFO L273 TraceCheckUtils]: 5: Hoare triple {20520#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {20494#false} is VALID [2019-02-14 16:28:15,825 INFO L273 TraceCheckUtils]: 4: Hoare triple {20520#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {20520#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:28:15,827 INFO L273 TraceCheckUtils]: 3: Hoare triple {20527#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {20520#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:28:15,828 INFO L273 TraceCheckUtils]: 2: Hoare triple {20531#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {20527#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:28:15,831 INFO L273 TraceCheckUtils]: 1: Hoare triple {20535#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {20531#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:28:15,832 INFO L273 TraceCheckUtils]: 0: Hoare triple {20493#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {20535#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:28:15,833 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:28:15,852 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:28:15,852 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 4, 4] total 11 [2019-02-14 16:28:15,852 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:28:15,853 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 6 [2019-02-14 16:28:15,853 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:28:15,853 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2019-02-14 16:28:15,873 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:28:15,873 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2019-02-14 16:28:15,874 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2019-02-14 16:28:15,874 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=99, Unknown=0, NotChecked=0, Total=156 [2019-02-14 16:28:15,874 INFO L87 Difference]: Start difference. First operand 84 states and 403 transitions. Second operand 9 states. [2019-02-14 16:28:19,506 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:28:19,506 INFO L93 Difference]: Finished difference Result 119 states and 475 transitions. [2019-02-14 16:28:19,506 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-14 16:28:19,506 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 6 [2019-02-14 16:28:19,506 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:28:19,506 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2019-02-14 16:28:19,507 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 64 transitions. [2019-02-14 16:28:19,507 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2019-02-14 16:28:19,507 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 64 transitions. [2019-02-14 16:28:19,507 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 64 transitions. [2019-02-14 16:28:19,626 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:28:19,629 INFO L225 Difference]: With dead ends: 119 [2019-02-14 16:28:19,629 INFO L226 Difference]: Without dead ends: 118 [2019-02-14 16:28:19,629 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 51 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=87, Invalid=153, Unknown=0, NotChecked=0, Total=240 [2019-02-14 16:28:19,629 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 118 states. [2019-02-14 16:28:22,283 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 118 to 91. [2019-02-14 16:28:22,283 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:28:22,284 INFO L82 GeneralOperation]: Start isEquivalent. First operand 118 states. Second operand 91 states. [2019-02-14 16:28:22,284 INFO L74 IsIncluded]: Start isIncluded. First operand 118 states. Second operand 91 states. [2019-02-14 16:28:22,284 INFO L87 Difference]: Start difference. First operand 118 states. Second operand 91 states. [2019-02-14 16:28:22,287 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:28:22,287 INFO L93 Difference]: Finished difference Result 118 states and 473 transitions. [2019-02-14 16:28:22,287 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 473 transitions. [2019-02-14 16:28:22,287 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:28:22,288 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:28:22,288 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand 118 states. [2019-02-14 16:28:22,288 INFO L87 Difference]: Start difference. First operand 91 states. Second operand 118 states. [2019-02-14 16:28:22,291 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:28:22,291 INFO L93 Difference]: Finished difference Result 118 states and 473 transitions. [2019-02-14 16:28:22,291 INFO L276 IsEmpty]: Start isEmpty. Operand 118 states and 473 transitions. [2019-02-14 16:28:22,291 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:28:22,291 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:28:22,291 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:28:22,291 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:28:22,291 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 91 states. [2019-02-14 16:28:22,293 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 91 states to 91 states and 445 transitions. [2019-02-14 16:28:22,293 INFO L78 Accepts]: Start accepts. Automaton has 91 states and 445 transitions. Word has length 6 [2019-02-14 16:28:22,293 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:28:22,293 INFO L480 AbstractCegarLoop]: Abstraction has 91 states and 445 transitions. [2019-02-14 16:28:22,293 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2019-02-14 16:28:22,294 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 445 transitions. [2019-02-14 16:28:22,294 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-14 16:28:22,294 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:28:22,294 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-14 16:28:22,294 INFO L423 AbstractCegarLoop]: === Iteration 54 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:28:22,294 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:28:22,294 INFO L82 PathProgramCache]: Analyzing trace with hash 906285674, now seen corresponding path program 1 times [2019-02-14 16:28:22,294 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:28:22,295 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:28:22,295 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:28:22,295 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:28:22,295 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:28:22,298 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:28:22,915 WARN L181 SmtUtils]: Spent 255.00 ms on a formula simplification. DAG size of input: 40 DAG size of output: 21 [2019-02-14 16:28:23,021 INFO L273 TraceCheckUtils]: 0: Hoare triple {21133#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {21135#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:28:23,022 INFO L273 TraceCheckUtils]: 1: Hoare triple {21135#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {21136#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:28:23,023 INFO L273 TraceCheckUtils]: 2: Hoare triple {21136#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {21137#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:28:23,024 INFO L273 TraceCheckUtils]: 3: Hoare triple {21137#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {21138#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-14 16:28:23,025 INFO L273 TraceCheckUtils]: 4: Hoare triple {21138#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {21139#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:28:23,026 INFO L273 TraceCheckUtils]: 5: Hoare triple {21139#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {21134#false} is VALID [2019-02-14 16:28:23,026 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:28:23,026 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:28:23,027 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:28:23,027 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-14 16:28:23,027 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [14], [20], [23] [2019-02-14 16:28:23,028 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:28:23,028 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:28:23,036 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:28:23,036 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 4 fixpoints after 4 different actions. Largest state had 0 variables. [2019-02-14 16:28:23,037 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:28:23,037 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:28:23,037 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:28:23,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 52 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 52 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:28:23,047 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:28:23,047 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:28:23,053 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:28:23,063 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:28:23,063 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:28:23,090 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 [2019-02-14 16:28:23,098 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:23,099 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 [2019-02-14 16:28:23,111 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:23,113 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:23,113 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 [2019-02-14 16:28:23,129 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:23,131 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:23,132 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:23,133 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 [2019-02-14 16:28:23,155 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:23,156 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:23,157 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:23,159 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:23,159 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 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 [2019-02-14 16:28:23,165 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:28:23,202 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:28:23,220 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:28:23,234 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:28:23,247 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:28:23,272 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. [2019-02-14 16:28:23,272 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-14 16:28:23,281 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:28:23,281 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_307|, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_307| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:28:23,281 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:28:23,344 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:23,346 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:23,347 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:23,349 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:23,350 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:23,352 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:23,353 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:23,354 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:23,356 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:23,357 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:23,359 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:23,360 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2019-02-14 16:28:23,364 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:28:23,413 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:28:23,413 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-14 16:28:25,426 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:28:25,426 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_308|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_308| ULTIMATE.start_main_p5))) (and (= 0 (select |v_#memory_int_308| ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_308| ULTIMATE.start_main_p5 (+ .cse0 1))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_308| ULTIMATE.start_main_p1)) (= .cse0 0) (= 0 (select |v_#memory_int_308| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_308| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:28:25,427 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:28:25,542 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:25,545 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:25,547 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:25,549 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:25,552 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:25,554 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:25,557 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:25,559 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:25,562 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:25,565 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:25,567 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:25,569 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:25,572 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:25,573 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 86 [2019-02-14 16:28:25,576 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:28:25,650 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:28:25,651 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-14 16:28:25,695 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:28:25,695 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_309|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_309| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_309| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_309| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_309| ULTIMATE.start_main_p5) 1) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store |v_#memory_int_309| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_309| ULTIMATE.start_main_p3)))) [2019-02-14 16:28:25,695 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:28:25,787 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:25,788 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:25,790 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:25,791 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:25,793 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:25,794 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:25,795 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:25,797 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:25,798 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:25,799 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:25,801 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:25,802 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:25,803 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:25,804 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:25,805 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:28:25,806 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 [2019-02-14 16:28:25,810 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:28:25,868 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:28:25,869 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-14 16:28:25,926 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:28:25,926 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_310|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_310| ULTIMATE.start_main_p3))) (and (= |#memory_int| (store |v_#memory_int_310| ULTIMATE.start_main_p3 (+ .cse0 1))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_310| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_310| ULTIMATE.start_main_p4) 0) (= (+ (select |v_#memory_int_310| ULTIMATE.start_main_p2) 1) 0) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_310| ULTIMATE.start_main_p5) 1))) [2019-02-14 16:28:25,927 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-14 16:28:26,029 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:26,031 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:26,032 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:26,034 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:26,035 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:26,036 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:26,038 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:26,039 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:26,041 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:26,042 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:26,043 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:26,044 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:26,046 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:26,047 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:26,048 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:28:26,048 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 [2019-02-14 16:28:26,054 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:28:26,109 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:28:26,109 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-14 16:28:26,130 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:28:26,131 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_311|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_311| ULTIMATE.start_main_p1))) (and (= 1 (select |v_#memory_int_311| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_311| ULTIMATE.start_main_p4)) (= 0 (+ (select |v_#memory_int_311| ULTIMATE.start_main_p2) 1)) (= |#memory_int| (store |v_#memory_int_311| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 .cse0) (= (select |v_#memory_int_311| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:28:26,131 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-14 16:28:26,194 INFO L273 TraceCheckUtils]: 0: Hoare triple {21133#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {21143#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:28:26,196 INFO L273 TraceCheckUtils]: 1: Hoare triple {21143#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {21147#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:28:26,198 INFO L273 TraceCheckUtils]: 2: Hoare triple {21147#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {21151#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-14 16:28:26,203 INFO L273 TraceCheckUtils]: 3: Hoare triple {21151#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {21155#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-02-14 16:28:26,212 INFO L273 TraceCheckUtils]: 4: Hoare triple {21155#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {21159#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-02-14 16:28:26,212 INFO L273 TraceCheckUtils]: 5: Hoare triple {21159#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {21134#false} is VALID [2019-02-14 16:28:26,213 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:28:26,213 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:28:26,291 INFO L273 TraceCheckUtils]: 5: Hoare triple {21139#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {21134#false} is VALID [2019-02-14 16:28:26,292 INFO L273 TraceCheckUtils]: 4: Hoare triple {21166#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {21139#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:28:26,293 INFO L273 TraceCheckUtils]: 3: Hoare triple {21170#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {21166#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2019-02-14 16:28:26,295 INFO L273 TraceCheckUtils]: 2: Hoare triple {21174#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {21170#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} is VALID [2019-02-14 16:28:26,297 INFO L273 TraceCheckUtils]: 1: Hoare triple {21178#(<= 0 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {21174#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} is VALID [2019-02-14 16:28:26,299 INFO L273 TraceCheckUtils]: 0: Hoare triple {21133#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {21178#(<= 0 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} is VALID [2019-02-14 16:28:26,300 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 6 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:28:26,319 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:28:26,319 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 14 [2019-02-14 16:28:26,319 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:28:26,319 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2019-02-14 16:28:26,319 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:28:26,319 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-02-14 16:28:26,347 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:28:26,348 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-02-14 16:28:26,348 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-02-14 16:28:26,348 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=97, Invalid=143, Unknown=0, NotChecked=0, Total=240 [2019-02-14 16:28:26,348 INFO L87 Difference]: Start difference. First operand 91 states and 445 transitions. Second operand 12 states. [2019-02-14 16:28:31,401 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:28:31,401 INFO L93 Difference]: Finished difference Result 149 states and 594 transitions. [2019-02-14 16:28:31,402 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-02-14 16:28:31,402 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2019-02-14 16:28:31,402 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:28:31,402 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-14 16:28:31,402 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 88 transitions. [2019-02-14 16:28:31,402 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-14 16:28:31,403 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 88 transitions. [2019-02-14 16:28:31,403 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 88 transitions. [2019-02-14 16:28:31,672 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:28:31,676 INFO L225 Difference]: With dead ends: 149 [2019-02-14 16:28:31,676 INFO L226 Difference]: Without dead ends: 148 [2019-02-14 16:28:31,676 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 86 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=133, Invalid=209, Unknown=0, NotChecked=0, Total=342 [2019-02-14 16:28:31,676 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 148 states. [2019-02-14 16:28:34,383 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 148 to 98. [2019-02-14 16:28:34,383 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:28:34,383 INFO L82 GeneralOperation]: Start isEquivalent. First operand 148 states. Second operand 98 states. [2019-02-14 16:28:34,384 INFO L74 IsIncluded]: Start isIncluded. First operand 148 states. Second operand 98 states. [2019-02-14 16:28:34,384 INFO L87 Difference]: Start difference. First operand 148 states. Second operand 98 states. [2019-02-14 16:28:34,388 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:28:34,388 INFO L93 Difference]: Finished difference Result 148 states and 592 transitions. [2019-02-14 16:28:34,388 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 592 transitions. [2019-02-14 16:28:34,388 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:28:34,389 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:28:34,389 INFO L74 IsIncluded]: Start isIncluded. First operand 98 states. Second operand 148 states. [2019-02-14 16:28:34,389 INFO L87 Difference]: Start difference. First operand 98 states. Second operand 148 states. [2019-02-14 16:28:34,392 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:28:34,392 INFO L93 Difference]: Finished difference Result 148 states and 592 transitions. [2019-02-14 16:28:34,392 INFO L276 IsEmpty]: Start isEmpty. Operand 148 states and 592 transitions. [2019-02-14 16:28:34,392 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:28:34,392 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:28:34,393 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:28:34,393 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:28:34,393 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 98 states. [2019-02-14 16:28:34,395 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 98 states to 98 states and 487 transitions. [2019-02-14 16:28:34,395 INFO L78 Accepts]: Start accepts. Automaton has 98 states and 487 transitions. Word has length 6 [2019-02-14 16:28:34,395 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:28:34,395 INFO L480 AbstractCegarLoop]: Abstraction has 98 states and 487 transitions. [2019-02-14 16:28:34,395 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-02-14 16:28:34,395 INFO L276 IsEmpty]: Start isEmpty. Operand 98 states and 487 transitions. [2019-02-14 16:28:34,395 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-14 16:28:34,396 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:28:34,396 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-14 16:28:34,396 INFO L423 AbstractCegarLoop]: === Iteration 55 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:28:34,396 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:28:34,396 INFO L82 PathProgramCache]: Analyzing trace with hash 906286234, now seen corresponding path program 1 times [2019-02-14 16:28:34,396 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:28:34,397 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:28:34,397 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:28:34,397 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:28:34,397 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:28:34,399 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:28:34,555 INFO L273 TraceCheckUtils]: 0: Hoare triple {21898#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {21900#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:28:34,577 INFO L273 TraceCheckUtils]: 1: Hoare triple {21900#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {21901#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2019-02-14 16:28:34,594 INFO L273 TraceCheckUtils]: 2: Hoare triple {21901#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {21902#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:28:34,603 INFO L273 TraceCheckUtils]: 3: Hoare triple {21902#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {21903#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2019-02-14 16:28:34,616 INFO L273 TraceCheckUtils]: 4: Hoare triple {21903#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume #memory_int[main_p1] >= 0; {21903#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2019-02-14 16:28:34,623 INFO L273 TraceCheckUtils]: 5: Hoare triple {21903#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {21899#false} is VALID [2019-02-14 16:28:34,623 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:28:34,623 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:28:34,624 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:28:34,624 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-14 16:28:34,624 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [20], [24], [25] [2019-02-14 16:28:34,625 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:28:34,625 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:28:34,641 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:28:34,641 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-14 16:28:34,641 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:28:34,642 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:28:34,642 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:28:34,642 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 53 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 53 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:28:34,652 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:28:34,652 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:28:34,662 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:28:34,665 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:28:34,666 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:28:34,689 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 [2019-02-14 16:28:34,704 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 [2019-02-14 16:28:34,715 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:34,715 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-14 16:28:34,730 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:34,732 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:34,732 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-14 16:28:34,749 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:34,755 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:34,756 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:34,757 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 [2019-02-14 16:28:34,761 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:28:34,783 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:28:34,795 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:28:34,807 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:28:34,818 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:28:34,840 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:28:34,840 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:28, output treesize:35 [2019-02-14 16:28:34,848 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:28:34,848 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_316|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store (store (store (store (store |v_#memory_int_316| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0))) [2019-02-14 16:28:34,848 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:28:34,928 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:34,929 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:34,930 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:34,932 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:34,933 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:34,934 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:34,935 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:34,936 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 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 [2019-02-14 16:28:34,940 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:28:34,970 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:28:34,971 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-02-14 16:28:36,475 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:28:36,475 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_317|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_317| ULTIMATE.start_main_p5))) (and (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_317| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_317| ULTIMATE.start_main_p3) 0) (= 0 (select |v_#memory_int_317| ULTIMATE.start_main_p4)) (= (store |v_#memory_int_317| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:28:36,475 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:28:36,533 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:36,535 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:36,536 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:36,538 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:36,539 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:36,540 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:36,541 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:36,542 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:36,544 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:36,545 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 [2019-02-14 16:28:36,548 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:28:36,584 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:28:36,585 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-02-14 16:28:36,591 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:28:36,591 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_318|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_318| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_318| ULTIMATE.start_main_p3)) (= 0 .cse0) (= 1 (select |v_#memory_int_318| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_318| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= |#memory_int| (store |v_#memory_int_318| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:28:36,591 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:28:36,645 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:36,646 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:36,647 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:36,648 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:36,650 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:36,651 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:36,652 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:36,653 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:36,654 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:36,655 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:36,655 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:28:36,656 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 [2019-02-14 16:28:36,661 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:28:36,700 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:28:36,700 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2019-02-14 16:28:36,713 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:28:36,713 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_319|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_319| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_319| ULTIMATE.start_main_p4) 0) (= 0 .cse0) (= (store |v_#memory_int_319| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 0 (+ (select |v_#memory_int_319| ULTIMATE.start_main_p2) 1)) (= (select |v_#memory_int_319| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:28:36,713 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-14 16:28:36,766 INFO L273 TraceCheckUtils]: 0: Hoare triple {21898#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {21907#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:28:36,769 INFO L273 TraceCheckUtils]: 1: Hoare triple {21907#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {21911#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:28:36,772 INFO L273 TraceCheckUtils]: 2: Hoare triple {21911#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {21915#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:28:36,775 INFO L273 TraceCheckUtils]: 3: Hoare triple {21915#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {21919#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:28:36,776 INFO L273 TraceCheckUtils]: 4: Hoare triple {21919#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {21919#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:28:36,776 INFO L273 TraceCheckUtils]: 5: Hoare triple {21919#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {21899#false} is VALID [2019-02-14 16:28:36,777 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:28:36,777 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:28:36,849 INFO L273 TraceCheckUtils]: 5: Hoare triple {21926#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {21899#false} is VALID [2019-02-14 16:28:36,869 INFO L273 TraceCheckUtils]: 4: Hoare triple {21926#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {21926#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:28:36,878 INFO L273 TraceCheckUtils]: 3: Hoare triple {21933#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {21926#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:28:36,883 INFO L273 TraceCheckUtils]: 2: Hoare triple {21937#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {21933#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:28:36,884 INFO L273 TraceCheckUtils]: 1: Hoare triple {21941#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {21937#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:28:36,886 INFO L273 TraceCheckUtils]: 0: Hoare triple {21898#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {21941#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:28:36,886 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 3 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:28:36,905 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:28:36,905 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2019-02-14 16:28:36,905 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:28:36,905 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2019-02-14 16:28:36,905 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:28:36,906 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-14 16:28:36,925 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:28:36,925 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-14 16:28:36,925 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-14 16:28:36,925 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=70, Invalid=112, Unknown=0, NotChecked=0, Total=182 [2019-02-14 16:28:36,925 INFO L87 Difference]: Start difference. First operand 98 states and 487 transitions. Second operand 10 states. [2019-02-14 16:28:41,329 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:28:41,329 INFO L93 Difference]: Finished difference Result 139 states and 554 transitions. [2019-02-14 16:28:41,329 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-02-14 16:28:41,329 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2019-02-14 16:28:41,329 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:28:41,330 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:28:41,330 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 78 transitions. [2019-02-14 16:28:41,330 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:28:41,331 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 78 transitions. [2019-02-14 16:28:41,331 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 78 transitions. [2019-02-14 16:28:41,449 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:28:41,453 INFO L225 Difference]: With dead ends: 139 [2019-02-14 16:28:41,453 INFO L226 Difference]: Without dead ends: 138 [2019-02-14 16:28:41,453 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=88, Invalid=152, Unknown=0, NotChecked=0, Total=240 [2019-02-14 16:28:41,453 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 138 states. [2019-02-14 16:28:44,335 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 138 to 101. [2019-02-14 16:28:44,335 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:28:44,335 INFO L82 GeneralOperation]: Start isEquivalent. First operand 138 states. Second operand 101 states. [2019-02-14 16:28:44,335 INFO L74 IsIncluded]: Start isIncluded. First operand 138 states. Second operand 101 states. [2019-02-14 16:28:44,335 INFO L87 Difference]: Start difference. First operand 138 states. Second operand 101 states. [2019-02-14 16:28:44,338 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:28:44,339 INFO L93 Difference]: Finished difference Result 138 states and 552 transitions. [2019-02-14 16:28:44,339 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 552 transitions. [2019-02-14 16:28:44,339 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:28:44,339 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:28:44,339 INFO L74 IsIncluded]: Start isIncluded. First operand 101 states. Second operand 138 states. [2019-02-14 16:28:44,339 INFO L87 Difference]: Start difference. First operand 101 states. Second operand 138 states. [2019-02-14 16:28:44,344 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:28:44,344 INFO L93 Difference]: Finished difference Result 138 states and 552 transitions. [2019-02-14 16:28:44,344 INFO L276 IsEmpty]: Start isEmpty. Operand 138 states and 552 transitions. [2019-02-14 16:28:44,345 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:28:44,345 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:28:44,345 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:28:44,345 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:28:44,345 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 101 states. [2019-02-14 16:28:44,348 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 101 states to 101 states and 505 transitions. [2019-02-14 16:28:44,348 INFO L78 Accepts]: Start accepts. Automaton has 101 states and 505 transitions. Word has length 6 [2019-02-14 16:28:44,349 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:28:44,349 INFO L480 AbstractCegarLoop]: Abstraction has 101 states and 505 transitions. [2019-02-14 16:28:44,349 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-14 16:28:44,349 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 505 transitions. [2019-02-14 16:28:44,349 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-14 16:28:44,349 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:28:44,349 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-14 16:28:44,350 INFO L423 AbstractCegarLoop]: === Iteration 56 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:28:44,350 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:28:44,350 INFO L82 PathProgramCache]: Analyzing trace with hash 906397274, now seen corresponding path program 2 times [2019-02-14 16:28:44,350 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:28:44,351 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:28:44,351 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:28:44,351 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:28:44,351 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:28:44,353 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:28:44,596 INFO L273 TraceCheckUtils]: 0: Hoare triple {22629#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {22631#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:28:44,597 INFO L273 TraceCheckUtils]: 1: Hoare triple {22631#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {22632#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:28:44,598 INFO L273 TraceCheckUtils]: 2: Hoare triple {22632#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {22633#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:28:44,599 INFO L273 TraceCheckUtils]: 3: Hoare triple {22633#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {22634#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:28:44,599 INFO L273 TraceCheckUtils]: 4: Hoare triple {22634#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {22635#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:28:44,600 INFO L273 TraceCheckUtils]: 5: Hoare triple {22635#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {22630#false} is VALID [2019-02-14 16:28:44,601 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:28:44,601 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:28:44,601 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:28:44,601 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2019-02-14 16:28:44,601 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2019-02-14 16:28:44,602 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:28:44,602 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 54 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 54 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:28:44,614 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2019-02-14 16:28:44,614 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2019-02-14 16:28:44,620 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2019-02-14 16:28:44,620 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2019-02-14 16:28:44,625 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:28:44,626 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:28:44,650 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 [2019-02-14 16:28:44,658 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:44,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, 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 [2019-02-14 16:28:44,674 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:44,674 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:44,675 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 [2019-02-14 16:28:44,690 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:44,692 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:44,693 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:44,694 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 [2019-02-14 16:28:44,715 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:44,717 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:44,718 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:44,720 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:44,721 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2019-02-14 16:28:44,726 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:28:44,756 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:28:44,772 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:28:44,786 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:28:44,798 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:28:44,822 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. [2019-02-14 16:28:44,822 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-14 16:28:44,829 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:28:44,830 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_323|, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_323| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:28:44,830 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:28:44,895 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:44,897 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:44,898 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:44,900 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:44,901 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:44,902 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:44,904 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:44,905 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:44,907 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:44,908 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:44,909 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:44,910 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2019-02-14 16:28:44,915 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:28:44,963 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:28:44,963 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-14 16:28:44,976 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:28:44,976 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_324|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_324| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_324| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_324| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_324| ULTIMATE.start_main_p4)) (= 0 .cse0) (= 0 (select |v_#memory_int_324| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_324| ULTIMATE.start_main_p5 (+ .cse0 1))))) [2019-02-14 16:28:44,976 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:28:45,046 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:45,048 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:45,049 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:45,050 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:45,052 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:45,053 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:45,054 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:45,056 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:45,057 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:45,058 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:45,060 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:45,061 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:45,061 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:28:45,062 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 80 [2019-02-14 16:28:45,067 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:28:45,119 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:28:45,120 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-14 16:28:47,137 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:28:47,137 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_325|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_325| ULTIMATE.start_main_p3))) (and (= .cse0 0) (= |#memory_int| (store |v_#memory_int_325| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (select |v_#memory_int_325| ULTIMATE.start_main_p5) 1) (= (select |v_#memory_int_325| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_325| ULTIMATE.start_main_p4)) (= (select |v_#memory_int_325| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:28:47,137 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:28:47,232 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:47,234 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:47,235 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:47,237 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:47,238 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:47,239 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:47,240 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:47,241 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:47,242 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:47,244 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:47,245 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:47,246 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:47,247 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:28:47,248 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 80 [2019-02-14 16:28:47,252 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:28:47,304 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:28:47,305 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-14 16:28:47,313 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:28:47,314 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_326|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_326| ULTIMATE.start_main_p1))) (and (= |#memory_int| (store |v_#memory_int_326| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 0 (select |v_#memory_int_326| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_326| ULTIMATE.start_main_p3) 1) (= (select |v_#memory_int_326| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_326| ULTIMATE.start_main_p5) 1))) [2019-02-14 16:28:47,314 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:28:47,392 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:47,393 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:47,395 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:47,396 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:47,397 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:47,399 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:47,400 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:47,401 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:47,403 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:47,404 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:47,405 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:47,406 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:47,408 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:47,408 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 86 [2019-02-14 16:28:47,414 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:28:47,466 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:28:47,466 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-14 16:28:47,482 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:28:47,482 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_327|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_327| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_327| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_327| ULTIMATE.start_main_p3)) (= 0 .cse0) (= (select |v_#memory_int_327| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_327| ULTIMATE.start_main_p5) 1) (= |#memory_int| (store |v_#memory_int_327| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:28:47,482 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:28:47,536 INFO L273 TraceCheckUtils]: 0: Hoare triple {22629#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {22639#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:28:47,538 INFO L273 TraceCheckUtils]: 1: Hoare triple {22639#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {22643#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:28:47,540 INFO L273 TraceCheckUtils]: 2: Hoare triple {22643#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {22647#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:28:47,543 INFO L273 TraceCheckUtils]: 3: Hoare triple {22647#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {22651#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:28:47,549 INFO L273 TraceCheckUtils]: 4: Hoare triple {22651#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {22655#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2019-02-14 16:28:47,549 INFO L273 TraceCheckUtils]: 5: Hoare triple {22655#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 1))} assume !(#memory_int[main_p1] >= 0); {22630#false} is VALID [2019-02-14 16:28:47,550 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:28:47,550 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:28:47,649 INFO L273 TraceCheckUtils]: 5: Hoare triple {22659#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {22630#false} is VALID [2019-02-14 16:28:47,650 INFO L273 TraceCheckUtils]: 4: Hoare triple {22663#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {22659#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:28:47,651 INFO L273 TraceCheckUtils]: 3: Hoare triple {22667#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {22663#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:28:47,653 INFO L273 TraceCheckUtils]: 2: Hoare triple {22671#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {22667#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:28:47,655 INFO L273 TraceCheckUtils]: 1: Hoare triple {22675#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {22671#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:28:47,657 INFO L273 TraceCheckUtils]: 0: Hoare triple {22629#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {22675#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:28:47,658 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 9 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:28:47,678 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:28:47,678 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2019-02-14 16:28:47,678 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:28:47,679 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2019-02-14 16:28:47,679 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:28:47,679 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-02-14 16:28:47,704 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:28:47,705 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-02-14 16:28:47,705 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-02-14 16:28:47,705 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=104, Invalid=168, Unknown=0, NotChecked=0, Total=272 [2019-02-14 16:28:47,705 INFO L87 Difference]: Start difference. First operand 101 states and 505 transitions. Second operand 12 states. [2019-02-14 16:28:53,382 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:28:53,383 INFO L93 Difference]: Finished difference Result 164 states and 623 transitions. [2019-02-14 16:28:53,383 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-02-14 16:28:53,383 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2019-02-14 16:28:53,383 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:28:53,383 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-14 16:28:53,383 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 93 transitions. [2019-02-14 16:28:53,384 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-14 16:28:53,384 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 93 transitions. [2019-02-14 16:28:53,384 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 93 transitions. [2019-02-14 16:28:53,603 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:28:53,607 INFO L225 Difference]: With dead ends: 164 [2019-02-14 16:28:53,607 INFO L226 Difference]: Without dead ends: 163 [2019-02-14 16:28:53,607 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 99 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=136, Invalid=244, Unknown=0, NotChecked=0, Total=380 [2019-02-14 16:28:53,607 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 163 states. [2019-02-14 16:28:56,788 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 163 to 100. [2019-02-14 16:28:56,788 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:28:56,788 INFO L82 GeneralOperation]: Start isEquivalent. First operand 163 states. Second operand 100 states. [2019-02-14 16:28:56,788 INFO L74 IsIncluded]: Start isIncluded. First operand 163 states. Second operand 100 states. [2019-02-14 16:28:56,788 INFO L87 Difference]: Start difference. First operand 163 states. Second operand 100 states. [2019-02-14 16:28:56,793 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:28:56,793 INFO L93 Difference]: Finished difference Result 163 states and 621 transitions. [2019-02-14 16:28:56,793 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 621 transitions. [2019-02-14 16:28:56,794 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:28:56,794 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:28:56,794 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand 163 states. [2019-02-14 16:28:56,794 INFO L87 Difference]: Start difference. First operand 100 states. Second operand 163 states. [2019-02-14 16:28:56,798 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:28:56,798 INFO L93 Difference]: Finished difference Result 163 states and 621 transitions. [2019-02-14 16:28:56,798 INFO L276 IsEmpty]: Start isEmpty. Operand 163 states and 621 transitions. [2019-02-14 16:28:56,798 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:28:56,799 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:28:56,799 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:28:56,799 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:28:56,799 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 100 states. [2019-02-14 16:28:56,801 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 499 transitions. [2019-02-14 16:28:56,801 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 499 transitions. Word has length 6 [2019-02-14 16:28:56,801 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:28:56,801 INFO L480 AbstractCegarLoop]: Abstraction has 100 states and 499 transitions. [2019-02-14 16:28:56,801 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-02-14 16:28:56,801 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 499 transitions. [2019-02-14 16:28:56,802 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-14 16:28:56,802 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:28:56,802 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-14 16:28:56,802 INFO L423 AbstractCegarLoop]: === Iteration 57 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:28:56,802 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:28:56,802 INFO L82 PathProgramCache]: Analyzing trace with hash 893366614, now seen corresponding path program 1 times [2019-02-14 16:28:56,802 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:28:56,803 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:28:56,803 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2019-02-14 16:28:56,803 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:28:56,803 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:28:56,805 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:28:56,979 INFO L273 TraceCheckUtils]: 0: Hoare triple {23447#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {23449#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:28:56,980 INFO L273 TraceCheckUtils]: 1: Hoare triple {23449#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {23449#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:28:56,981 INFO L273 TraceCheckUtils]: 2: Hoare triple {23449#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {23450#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-14 16:28:56,982 INFO L273 TraceCheckUtils]: 3: Hoare triple {23450#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p1] >= 0; {23450#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-14 16:28:56,982 INFO L273 TraceCheckUtils]: 4: Hoare triple {23450#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p2] <= 0; {23451#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-14 16:28:56,983 INFO L273 TraceCheckUtils]: 5: Hoare triple {23451#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {23448#false} is VALID [2019-02-14 16:28:56,983 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-14 16:28:56,984 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:28:56,984 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:28:56,984 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-14 16:28:56,984 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [24], [26], [27] [2019-02-14 16:28:56,987 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:28:56,987 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:28:56,996 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:28:56,996 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-14 16:28:56,997 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:28:56,997 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:28:56,997 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:28:56,997 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 55 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 55 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:28:57,006 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:28:57,007 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:28:57,011 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:28:57,015 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:28:57,015 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:28:57,050 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 21 [2019-02-14 16:28:57,059 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:57,059 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 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 [2019-02-14 16:28:57,071 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:57,072 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:57,073 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2019-02-14 16:28:57,088 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:57,090 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:57,091 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:57,092 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 [2019-02-14 16:28:57,113 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:57,114 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:57,116 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:57,117 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:57,118 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 [2019-02-14 16:28:57,123 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:28:57,152 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:28:57,168 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:28:57,182 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:28:57,193 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:28:57,217 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:28:57,217 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2019-02-14 16:28:57,224 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:28:57,225 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_332|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_332| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:28:57,225 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:28:57,286 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:57,288 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:57,289 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:57,291 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:57,292 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:57,293 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:57,295 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:57,296 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:57,298 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:57,299 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:57,300 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:57,301 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2019-02-14 16:28:57,307 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:28:57,355 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:28:57,356 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-14 16:28:57,406 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:28:57,406 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_333|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_333| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_333| ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_333| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_333| ULTIMATE.start_main_p5)) (= |#memory_int| (store |v_#memory_int_333| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 .cse0) (= (select |v_#memory_int_333| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:28:57,406 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:28:57,471 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:57,473 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:57,474 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:57,475 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:57,476 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:57,478 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:57,479 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:57,480 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:57,481 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:57,482 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:57,483 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:57,484 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:57,485 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:28:57,486 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 86 [2019-02-14 16:28:57,491 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:28:57,549 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:28:57,549 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-14 16:28:59,583 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:28:59,584 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_334|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_334| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_334| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_334| ULTIMATE.start_main_p4)) (= (select |v_#memory_int_334| ULTIMATE.start_main_p1) 1) (= (select |v_#memory_int_334| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= .cse0 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (store |v_#memory_int_334| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:28:59,584 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:28:59,706 INFO L273 TraceCheckUtils]: 0: Hoare triple {23447#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {23455#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:28:59,709 INFO L273 TraceCheckUtils]: 1: Hoare triple {23455#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {23459#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:28:59,711 INFO L273 TraceCheckUtils]: 2: Hoare triple {23459#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {23463#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-14 16:28:59,712 INFO L273 TraceCheckUtils]: 3: Hoare triple {23463#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p1] >= 0; {23463#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-14 16:28:59,713 INFO L273 TraceCheckUtils]: 4: Hoare triple {23463#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p2] <= 0; {23463#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-14 16:28:59,714 INFO L273 TraceCheckUtils]: 5: Hoare triple {23463#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume !(#memory_int[main_p3] >= 0); {23448#false} is VALID [2019-02-14 16:28:59,714 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:28:59,715 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:28:59,761 INFO L273 TraceCheckUtils]: 5: Hoare triple {23473#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {23448#false} is VALID [2019-02-14 16:28:59,761 INFO L273 TraceCheckUtils]: 4: Hoare triple {23473#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {23473#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:28:59,762 INFO L273 TraceCheckUtils]: 3: Hoare triple {23473#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {23473#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:28:59,763 INFO L273 TraceCheckUtils]: 2: Hoare triple {23483#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {23473#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:28:59,764 INFO L273 TraceCheckUtils]: 1: Hoare triple {23487#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {23483#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:28:59,767 INFO L273 TraceCheckUtils]: 0: Hoare triple {23447#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {23487#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:28:59,767 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:28:59,786 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:28:59,787 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-14 16:28:59,787 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:28:59,787 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2019-02-14 16:28:59,787 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:28:59,787 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-14 16:28:59,807 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:28:59,808 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-14 16:28:59,808 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-14 16:28:59,808 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2019-02-14 16:28:59,808 INFO L87 Difference]: Start difference. First operand 100 states and 499 transitions. Second operand 8 states. [2019-02-14 16:29:03,879 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:29:03,879 INFO L93 Difference]: Finished difference Result 122 states and 529 transitions. [2019-02-14 16:29:03,879 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-02-14 16:29:03,879 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2019-02-14 16:29:03,879 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:29:03,879 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:29:03,880 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2019-02-14 16:29:03,880 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:29:03,880 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 54 transitions. [2019-02-14 16:29:03,880 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 54 transitions. [2019-02-14 16:29:03,959 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:29:03,961 INFO L225 Difference]: With dead ends: 122 [2019-02-14 16:29:03,961 INFO L226 Difference]: Without dead ends: 121 [2019-02-14 16:29:03,962 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 4 SyntacticMatches, 2 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2019-02-14 16:29:03,962 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 121 states. [2019-02-14 16:29:07,187 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 121 to 102. [2019-02-14 16:29:07,187 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:29:07,187 INFO L82 GeneralOperation]: Start isEquivalent. First operand 121 states. Second operand 102 states. [2019-02-14 16:29:07,188 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand 102 states. [2019-02-14 16:29:07,188 INFO L87 Difference]: Start difference. First operand 121 states. Second operand 102 states. [2019-02-14 16:29:07,191 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:29:07,191 INFO L93 Difference]: Finished difference Result 121 states and 527 transitions. [2019-02-14 16:29:07,191 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 527 transitions. [2019-02-14 16:29:07,192 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:29:07,192 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:29:07,192 INFO L74 IsIncluded]: Start isIncluded. First operand 102 states. Second operand 121 states. [2019-02-14 16:29:07,192 INFO L87 Difference]: Start difference. First operand 102 states. Second operand 121 states. [2019-02-14 16:29:07,194 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:29:07,195 INFO L93 Difference]: Finished difference Result 121 states and 527 transitions. [2019-02-14 16:29:07,195 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 527 transitions. [2019-02-14 16:29:07,195 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:29:07,195 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:29:07,195 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:29:07,195 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:29:07,195 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 102 states. [2019-02-14 16:29:07,197 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 102 states to 102 states and 511 transitions. [2019-02-14 16:29:07,198 INFO L78 Accepts]: Start accepts. Automaton has 102 states and 511 transitions. Word has length 6 [2019-02-14 16:29:07,198 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:29:07,198 INFO L480 AbstractCegarLoop]: Abstraction has 102 states and 511 transitions. [2019-02-14 16:29:07,198 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-14 16:29:07,198 INFO L276 IsEmpty]: Start isEmpty. Operand 102 states and 511 transitions. [2019-02-14 16:29:07,198 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-14 16:29:07,198 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:29:07,198 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-14 16:29:07,198 INFO L423 AbstractCegarLoop]: === Iteration 58 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:29:07,198 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:29:07,199 INFO L82 PathProgramCache]: Analyzing trace with hash 893472260, now seen corresponding path program 1 times [2019-02-14 16:29:07,199 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:29:07,199 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:29:07,199 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:29:07,199 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:29:07,199 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:29:07,201 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:29:07,429 INFO L273 TraceCheckUtils]: 0: Hoare triple {24124#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {24126#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:29:07,430 INFO L273 TraceCheckUtils]: 1: Hoare triple {24126#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {24126#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:29:07,431 INFO L273 TraceCheckUtils]: 2: Hoare triple {24126#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {24127#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2019-02-14 16:29:07,431 INFO L273 TraceCheckUtils]: 3: Hoare triple {24127#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {24128#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2019-02-14 16:29:07,432 INFO L273 TraceCheckUtils]: 4: Hoare triple {24128#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {24129#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:29:07,432 INFO L273 TraceCheckUtils]: 5: Hoare triple {24129#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {24125#false} is VALID [2019-02-14 16:29:07,432 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-14 16:29:07,432 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:29:07,432 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:29:07,432 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-14 16:29:07,433 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [14], [24], [25] [2019-02-14 16:29:07,433 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:29:07,433 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:29:07,442 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:29:07,443 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-14 16:29:07,443 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:29:07,443 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:29:07,443 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:29:07,443 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 56 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 56 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:29:07,454 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:29:07,454 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:29:07,459 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:29:07,463 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:29:07,464 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:29:07,489 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 [2019-02-14 16:29:07,497 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:07,498 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 [2019-02-14 16:29:07,510 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:07,511 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:07,512 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 [2019-02-14 16:29:07,529 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:07,530 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:07,531 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:07,532 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 [2019-02-14 16:29:07,554 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:07,556 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:07,557 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:07,558 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:07,559 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 [2019-02-14 16:29:07,564 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:29:07,595 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:29:07,613 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:29:07,626 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:29:07,639 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:29:07,663 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:29:07,664 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2019-02-14 16:29:07,671 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:29:07,671 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_337|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= |#memory_int| (store (store (store (store (store |v_#memory_int_337| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:29:07,672 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:29:07,742 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:07,744 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:07,745 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:07,746 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:07,748 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:07,749 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:07,751 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:07,752 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:07,753 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:07,755 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:07,756 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:07,757 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2019-02-14 16:29:07,762 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:29:07,811 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:29:07,811 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-14 16:29:07,826 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:29:07,827 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_338|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_338| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_338| ULTIMATE.start_main_p5)) (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_338| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_338| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_338| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= |#memory_int| (store |v_#memory_int_338| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:29:07,827 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:29:07,891 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:07,893 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:07,894 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:07,895 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:07,896 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:07,897 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:07,899 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:07,900 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:07,901 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:07,902 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:07,903 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:07,905 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:07,905 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:29:07,906 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 80 [2019-02-14 16:29:07,911 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:29:07,962 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:29:07,963 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-14 16:29:07,994 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:29:07,994 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_339|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_339| ULTIMATE.start_main_p3))) (and (= 1 (select |v_#memory_int_339| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_339| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (= (select |v_#memory_int_339| ULTIMATE.start_main_p4) 0) (= 0 (select |v_#memory_int_339| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_339| ULTIMATE.start_main_p2) 0))) [2019-02-14 16:29:07,994 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:29:08,070 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:08,071 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:08,072 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:08,074 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:08,075 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:08,076 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:08,078 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:08,079 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:08,081 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:08,082 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:08,083 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:08,084 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:08,086 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:08,087 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 86 [2019-02-14 16:29:08,092 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:29:08,146 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:29:08,146 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-14 16:29:08,180 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:29:08,180 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_340|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_340| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_340| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= .cse0 0) (= (select |v_#memory_int_340| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_340| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_340| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_340| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:29:08,180 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:29:08,263 INFO L273 TraceCheckUtils]: 0: Hoare triple {24124#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {24133#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:29:08,265 INFO L273 TraceCheckUtils]: 1: Hoare triple {24133#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {24137#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:29:08,268 INFO L273 TraceCheckUtils]: 2: Hoare triple {24137#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {24141#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:29:08,273 INFO L273 TraceCheckUtils]: 3: Hoare triple {24141#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {24145#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2019-02-14 16:29:08,274 INFO L273 TraceCheckUtils]: 4: Hoare triple {24145#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume #memory_int[main_p1] >= 0; {24145#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2019-02-14 16:29:08,275 INFO L273 TraceCheckUtils]: 5: Hoare triple {24145#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume !(#memory_int[main_p2] <= 0); {24125#false} is VALID [2019-02-14 16:29:08,275 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:29:08,275 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:29:08,333 INFO L273 TraceCheckUtils]: 5: Hoare triple {24129#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {24125#false} is VALID [2019-02-14 16:29:08,334 INFO L273 TraceCheckUtils]: 4: Hoare triple {24129#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {24129#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:29:08,334 INFO L273 TraceCheckUtils]: 3: Hoare triple {24158#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {24129#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:29:08,335 INFO L273 TraceCheckUtils]: 2: Hoare triple {24162#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {24158#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2019-02-14 16:29:08,337 INFO L273 TraceCheckUtils]: 1: Hoare triple {24166#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {24162#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2019-02-14 16:29:08,339 INFO L273 TraceCheckUtils]: 0: Hoare triple {24124#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {24166#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2019-02-14 16:29:08,340 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:29:08,360 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:29:08,360 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2019-02-14 16:29:08,360 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:29:08,360 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2019-02-14 16:29:08,360 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:29:08,361 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-14 16:29:08,380 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:29:08,381 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-14 16:29:08,381 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-14 16:29:08,381 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=61, Invalid=95, Unknown=0, NotChecked=0, Total=156 [2019-02-14 16:29:08,381 INFO L87 Difference]: Start difference. First operand 102 states and 511 transitions. Second operand 10 states. [2019-02-14 16:29:13,604 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:29:13,604 INFO L93 Difference]: Finished difference Result 154 states and 624 transitions. [2019-02-14 16:29:13,604 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-02-14 16:29:13,604 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2019-02-14 16:29:13,604 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:29:13,604 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:29:13,605 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 79 transitions. [2019-02-14 16:29:13,605 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:29:13,605 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 79 transitions. [2019-02-14 16:29:13,605 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 79 transitions. [2019-02-14 16:29:13,751 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:29:13,754 INFO L225 Difference]: With dead ends: 154 [2019-02-14 16:29:13,754 INFO L226 Difference]: Without dead ends: 153 [2019-02-14 16:29:13,754 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 45 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=89, Invalid=151, Unknown=0, NotChecked=0, Total=240 [2019-02-14 16:29:13,755 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 153 states. [2019-02-14 16:29:17,422 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 153 to 111. [2019-02-14 16:29:17,422 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:29:17,422 INFO L82 GeneralOperation]: Start isEquivalent. First operand 153 states. Second operand 111 states. [2019-02-14 16:29:17,422 INFO L74 IsIncluded]: Start isIncluded. First operand 153 states. Second operand 111 states. [2019-02-14 16:29:17,422 INFO L87 Difference]: Start difference. First operand 153 states. Second operand 111 states. [2019-02-14 16:29:17,427 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:29:17,427 INFO L93 Difference]: Finished difference Result 153 states and 622 transitions. [2019-02-14 16:29:17,427 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 622 transitions. [2019-02-14 16:29:17,427 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:29:17,427 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:29:17,427 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand 153 states. [2019-02-14 16:29:17,427 INFO L87 Difference]: Start difference. First operand 111 states. Second operand 153 states. [2019-02-14 16:29:17,431 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:29:17,431 INFO L93 Difference]: Finished difference Result 153 states and 622 transitions. [2019-02-14 16:29:17,431 INFO L276 IsEmpty]: Start isEmpty. Operand 153 states and 622 transitions. [2019-02-14 16:29:17,431 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:29:17,431 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:29:17,431 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:29:17,431 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:29:17,431 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 111 states. [2019-02-14 16:29:17,434 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 566 transitions. [2019-02-14 16:29:17,434 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 566 transitions. Word has length 6 [2019-02-14 16:29:17,434 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:29:17,434 INFO L480 AbstractCegarLoop]: Abstraction has 111 states and 566 transitions. [2019-02-14 16:29:17,434 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-14 16:29:17,434 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 566 transitions. [2019-02-14 16:29:17,435 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-14 16:29:17,435 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:29:17,435 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-14 16:29:17,435 INFO L423 AbstractCegarLoop]: === Iteration 59 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:29:17,435 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:29:17,435 INFO L82 PathProgramCache]: Analyzing trace with hash 897358608, now seen corresponding path program 1 times [2019-02-14 16:29:17,435 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:29:17,436 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:29:17,436 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:29:17,436 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:29:17,436 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:29:17,438 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:29:17,685 INFO L273 TraceCheckUtils]: 0: Hoare triple {24932#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {24934#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:29:17,686 INFO L273 TraceCheckUtils]: 1: Hoare triple {24934#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {24934#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:29:17,687 INFO L273 TraceCheckUtils]: 2: Hoare triple {24934#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {24935#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-14 16:29:17,688 INFO L273 TraceCheckUtils]: 3: Hoare triple {24935#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p1] >= 0; {24935#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-14 16:29:17,689 INFO L273 TraceCheckUtils]: 4: Hoare triple {24935#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p2] <= 0; {24936#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-14 16:29:17,689 INFO L273 TraceCheckUtils]: 5: Hoare triple {24936#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {24933#false} is VALID [2019-02-14 16:29:17,690 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-14 16:29:17,690 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:29:17,690 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:29:17,690 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-14 16:29:17,690 INFO L207 CegarAbsIntRunner]: [0], [10], [20], [24], [26], [27] [2019-02-14 16:29:17,691 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:29:17,691 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:29:17,703 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:29:17,704 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-14 16:29:17,704 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:29:17,704 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:29:17,704 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:29:17,704 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 57 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 57 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:29:17,714 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:29:17,714 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:29:17,718 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:29:17,721 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:29:17,721 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:29:17,741 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 [2019-02-14 16:29:17,750 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 [2019-02-14 16:29:17,762 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:17,763 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-14 16:29:17,787 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:17,789 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:17,789 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-14 16:29:17,806 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:17,811 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:17,812 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:17,813 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 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 [2019-02-14 16:29:17,817 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:29:17,838 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:29:17,851 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:29:17,863 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:29:17,875 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:29:17,896 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:29:17,897 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:28, output treesize:35 [2019-02-14 16:29:17,905 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:29:17,905 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_344|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4]. (and (= (store (store (store (store (store |v_#memory_int_344| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:29:17,905 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:29:17,971 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:17,973 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:17,974 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:17,975 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:17,977 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:17,978 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:17,979 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:17,980 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 [2019-02-14 16:29:17,984 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:29:18,015 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:29:18,015 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-02-14 16:29:18,079 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:29:18,080 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_345|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_345| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_345| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_345| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_345| ULTIMATE.start_main_p4) 0) (= |#memory_int| (store |v_#memory_int_345| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:29:18,080 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:29:18,134 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:18,135 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:18,137 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:18,138 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:18,139 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:18,141 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:18,142 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:18,143 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:18,144 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:18,145 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 [2019-02-14 16:29:18,149 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:29:18,185 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:29:18,186 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2019-02-14 16:29:19,764 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:29:19,764 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_346|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_346| ULTIMATE.start_main_p5))) (and (= |#memory_int| (store |v_#memory_int_346| ULTIMATE.start_main_p5 (+ .cse0 1))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_346| ULTIMATE.start_main_p4) 0) (= 0 (+ (select |v_#memory_int_346| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_346| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= .cse0 0))) [2019-02-14 16:29:19,764 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:29:19,864 INFO L273 TraceCheckUtils]: 0: Hoare triple {24932#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {24940#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:29:19,866 INFO L273 TraceCheckUtils]: 1: Hoare triple {24940#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {24944#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-14 16:29:19,869 INFO L273 TraceCheckUtils]: 2: Hoare triple {24944#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {24948#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-14 16:29:19,870 INFO L273 TraceCheckUtils]: 3: Hoare triple {24948#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {24948#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-14 16:29:19,871 INFO L273 TraceCheckUtils]: 4: Hoare triple {24948#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p2] <= 0; {24948#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-14 16:29:19,871 INFO L273 TraceCheckUtils]: 5: Hoare triple {24948#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p3] >= 0); {24933#false} is VALID [2019-02-14 16:29:19,872 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:29:19,872 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:29:19,919 INFO L273 TraceCheckUtils]: 5: Hoare triple {24958#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {24933#false} is VALID [2019-02-14 16:29:19,920 INFO L273 TraceCheckUtils]: 4: Hoare triple {24958#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {24958#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:29:19,920 INFO L273 TraceCheckUtils]: 3: Hoare triple {24958#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {24958#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:29:19,921 INFO L273 TraceCheckUtils]: 2: Hoare triple {24968#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {24958#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:29:19,923 INFO L273 TraceCheckUtils]: 1: Hoare triple {24972#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {24968#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:29:19,925 INFO L273 TraceCheckUtils]: 0: Hoare triple {24932#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {24972#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:29:19,925 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 1 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:29:19,945 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:29:19,945 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-14 16:29:19,945 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:29:19,946 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2019-02-14 16:29:19,946 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:29:19,946 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-14 16:29:19,963 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:29:19,963 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-14 16:29:19,963 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-14 16:29:19,963 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=44, Invalid=66, Unknown=0, NotChecked=0, Total=110 [2019-02-14 16:29:19,964 INFO L87 Difference]: Start difference. First operand 111 states and 566 transitions. Second operand 8 states. [2019-02-14 16:29:24,263 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:29:24,263 INFO L93 Difference]: Finished difference Result 130 states and 583 transitions. [2019-02-14 16:29:24,263 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2019-02-14 16:29:24,263 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2019-02-14 16:29:24,263 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:29:24,264 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:29:24,264 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 53 transitions. [2019-02-14 16:29:24,264 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:29:24,264 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 53 transitions. [2019-02-14 16:29:24,264 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 53 transitions. [2019-02-14 16:29:24,343 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:29:24,346 INFO L225 Difference]: With dead ends: 130 [2019-02-14 16:29:24,346 INFO L226 Difference]: Without dead ends: 129 [2019-02-14 16:29:24,347 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 4 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 29 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=62, Invalid=94, Unknown=0, NotChecked=0, Total=156 [2019-02-14 16:29:24,347 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2019-02-14 16:29:28,188 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 111. [2019-02-14 16:29:28,189 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:29:28,189 INFO L82 GeneralOperation]: Start isEquivalent. First operand 129 states. Second operand 111 states. [2019-02-14 16:29:28,189 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand 111 states. [2019-02-14 16:29:28,189 INFO L87 Difference]: Start difference. First operand 129 states. Second operand 111 states. [2019-02-14 16:29:28,193 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:29:28,193 INFO L93 Difference]: Finished difference Result 129 states and 581 transitions. [2019-02-14 16:29:28,193 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 581 transitions. [2019-02-14 16:29:28,193 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:29:28,193 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:29:28,193 INFO L74 IsIncluded]: Start isIncluded. First operand 111 states. Second operand 129 states. [2019-02-14 16:29:28,193 INFO L87 Difference]: Start difference. First operand 111 states. Second operand 129 states. [2019-02-14 16:29:28,202 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:29:28,202 INFO L93 Difference]: Finished difference Result 129 states and 581 transitions. [2019-02-14 16:29:28,202 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 581 transitions. [2019-02-14 16:29:28,203 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:29:28,203 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:29:28,203 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:29:28,203 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:29:28,203 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 111 states. [2019-02-14 16:29:28,206 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 111 states to 111 states and 566 transitions. [2019-02-14 16:29:28,206 INFO L78 Accepts]: Start accepts. Automaton has 111 states and 566 transitions. Word has length 6 [2019-02-14 16:29:28,206 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:29:28,206 INFO L480 AbstractCegarLoop]: Abstraction has 111 states and 566 transitions. [2019-02-14 16:29:28,206 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-14 16:29:28,206 INFO L276 IsEmpty]: Start isEmpty. Operand 111 states and 566 transitions. [2019-02-14 16:29:28,206 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-14 16:29:28,206 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:29:28,206 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-14 16:29:28,207 INFO L423 AbstractCegarLoop]: === Iteration 60 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:29:28,207 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:29:28,207 INFO L82 PathProgramCache]: Analyzing trace with hash 896931860, now seen corresponding path program 2 times [2019-02-14 16:29:28,207 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:29:28,208 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:29:28,208 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:29:28,208 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:29:28,208 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:29:28,210 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:29:28,424 INFO L273 TraceCheckUtils]: 0: Hoare triple {25660#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {25662#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2019-02-14 16:29:28,426 INFO L273 TraceCheckUtils]: 1: Hoare triple {25662#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {25663#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:29:28,427 INFO L273 TraceCheckUtils]: 2: Hoare triple {25663#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {25663#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:29:28,428 INFO L273 TraceCheckUtils]: 3: Hoare triple {25663#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {25664#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2019-02-14 16:29:28,428 INFO L273 TraceCheckUtils]: 4: Hoare triple {25664#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume #memory_int[main_p1] >= 0; {25664#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2019-02-14 16:29:28,429 INFO L273 TraceCheckUtils]: 5: Hoare triple {25664#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {25661#false} is VALID [2019-02-14 16:29:28,429 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-14 16:29:28,430 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:29:28,430 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:29:28,430 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2019-02-14 16:29:28,430 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2019-02-14 16:29:28,430 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:29:28,430 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 58 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 58 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:29:28,441 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2019-02-14 16:29:28,441 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2019-02-14 16:29:28,448 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2019-02-14 16:29:28,448 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2019-02-14 16:29:28,452 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:29:28,452 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:29:28,483 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 [2019-02-14 16:29:28,491 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:28,492 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 [2019-02-14 16:29:28,505 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:28,506 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:28,507 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 [2019-02-14 16:29:28,527 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:28,528 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:28,530 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:28,531 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 [2019-02-14 16:29:28,555 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:28,557 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:28,558 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:28,560 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:28,561 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 [2019-02-14 16:29:28,567 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:29:28,598 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:29:28,617 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:29:28,632 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:29:28,645 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:29:28,670 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:29:28,671 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:31, output treesize:38 [2019-02-14 16:29:28,678 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:29:28,679 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_349|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store (store (store (store (store |v_#memory_int_349| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0))) [2019-02-14 16:29:28,679 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:29:28,749 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:28,750 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:28,752 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:28,753 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:28,754 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:28,755 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:28,756 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:28,758 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:28,759 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:28,760 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:28,761 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:28,762 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2019-02-14 16:29:28,768 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:29:28,818 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:29:28,819 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-14 16:29:28,827 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:29:28,828 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_350|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_350| ULTIMATE.start_main_p2))) (and (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_350| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_350| ULTIMATE.start_main_p4) 0) (= (store |v_#memory_int_350| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_350| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_350| ULTIMATE.start_main_p5) 0))) [2019-02-14 16:29:28,828 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:29:28,899 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:28,900 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:28,901 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:28,902 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:28,904 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:28,905 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:28,906 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:28,907 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:28,909 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:28,910 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:28,911 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:28,912 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:28,913 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:28,914 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 88 [2019-02-14 16:29:28,920 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:29:28,975 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:29:28,976 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-14 16:29:30,985 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:29:30,986 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_351|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_351| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_351| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= (select |v_#memory_int_351| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_351| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (+ (select |v_#memory_int_351| ULTIMATE.start_main_p2) 1) 0) (= 0 .cse0) (= 0 (select |v_#memory_int_351| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:29:30,986 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-14 16:29:31,080 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:31,082 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:31,083 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:31,084 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:31,086 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:31,087 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:31,089 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:31,090 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:31,091 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:31,093 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:31,094 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:31,095 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:31,096 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:31,097 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:31,098 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:29:31,099 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 [2019-02-14 16:29:31,116 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:29:31,170 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:29:31,171 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-14 16:29:31,226 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:29:31,227 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_352|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_352| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_352| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |v_#memory_int_352| ULTIMATE.start_main_p2) 1)) (= 0 .cse0) (= 1 (select |v_#memory_int_352| ULTIMATE.start_main_p1)) (= |#memory_int| (store |v_#memory_int_352| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (select |v_#memory_int_352| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:29:31,227 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-14 16:29:31,297 INFO L273 TraceCheckUtils]: 0: Hoare triple {25660#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {25668#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:29:31,300 INFO L273 TraceCheckUtils]: 1: Hoare triple {25668#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {25672#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:29:31,303 INFO L273 TraceCheckUtils]: 2: Hoare triple {25672#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {25676#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:29:31,307 INFO L273 TraceCheckUtils]: 3: Hoare triple {25676#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {25680#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:29:31,308 INFO L273 TraceCheckUtils]: 4: Hoare triple {25680#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {25680#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:29:31,309 INFO L273 TraceCheckUtils]: 5: Hoare triple {25680#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {25661#false} is VALID [2019-02-14 16:29:31,309 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:29:31,310 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:29:31,374 INFO L273 TraceCheckUtils]: 5: Hoare triple {25687#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {25661#false} is VALID [2019-02-14 16:29:31,375 INFO L273 TraceCheckUtils]: 4: Hoare triple {25687#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {25687#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:29:31,376 INFO L273 TraceCheckUtils]: 3: Hoare triple {25694#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {25687#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:29:31,377 INFO L273 TraceCheckUtils]: 2: Hoare triple {25698#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {25694#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:29:31,379 INFO L273 TraceCheckUtils]: 1: Hoare triple {25702#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {25698#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:29:31,381 INFO L273 TraceCheckUtils]: 0: Hoare triple {25660#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {25702#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:29:31,382 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:29:31,402 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:29:31,402 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 4, 4] total 11 [2019-02-14 16:29:31,402 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:29:31,402 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 6 [2019-02-14 16:29:31,402 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:29:31,403 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states. [2019-02-14 16:29:31,424 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:29:31,424 INFO L459 AbstractCegarLoop]: Interpolant automaton has 9 states [2019-02-14 16:29:31,424 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2019-02-14 16:29:31,424 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=96, Unknown=0, NotChecked=0, Total=156 [2019-02-14 16:29:31,424 INFO L87 Difference]: Start difference. First operand 111 states and 566 transitions. Second operand 9 states. [2019-02-14 16:29:37,063 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:29:37,063 INFO L93 Difference]: Finished difference Result 160 states and 682 transitions. [2019-02-14 16:29:37,063 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-02-14 16:29:37,064 INFO L78 Accepts]: Start accepts. Automaton has 9 states. Word has length 6 [2019-02-14 16:29:37,064 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:29:37,064 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2019-02-14 16:29:37,064 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 78 transitions. [2019-02-14 16:29:37,064 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 9 states. [2019-02-14 16:29:37,065 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 78 transitions. [2019-02-14 16:29:37,065 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 78 transitions. [2019-02-14 16:29:37,239 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:29:37,242 INFO L225 Difference]: With dead ends: 160 [2019-02-14 16:29:37,242 INFO L226 Difference]: Without dead ends: 159 [2019-02-14 16:29:37,242 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 48 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=78, Invalid=132, Unknown=0, NotChecked=0, Total=210 [2019-02-14 16:29:37,242 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 159 states. [2019-02-14 16:29:41,306 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 159 to 117. [2019-02-14 16:29:41,306 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:29:41,306 INFO L82 GeneralOperation]: Start isEquivalent. First operand 159 states. Second operand 117 states. [2019-02-14 16:29:41,306 INFO L74 IsIncluded]: Start isIncluded. First operand 159 states. Second operand 117 states. [2019-02-14 16:29:41,307 INFO L87 Difference]: Start difference. First operand 159 states. Second operand 117 states. [2019-02-14 16:29:41,311 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:29:41,311 INFO L93 Difference]: Finished difference Result 159 states and 680 transitions. [2019-02-14 16:29:41,311 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 680 transitions. [2019-02-14 16:29:41,312 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:29:41,312 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:29:41,312 INFO L74 IsIncluded]: Start isIncluded. First operand 117 states. Second operand 159 states. [2019-02-14 16:29:41,312 INFO L87 Difference]: Start difference. First operand 117 states. Second operand 159 states. [2019-02-14 16:29:41,316 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:29:41,316 INFO L93 Difference]: Finished difference Result 159 states and 680 transitions. [2019-02-14 16:29:41,316 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 680 transitions. [2019-02-14 16:29:41,316 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:29:41,316 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:29:41,316 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:29:41,316 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:29:41,316 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 117 states. [2019-02-14 16:29:41,319 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 117 states to 117 states and 603 transitions. [2019-02-14 16:29:41,319 INFO L78 Accepts]: Start accepts. Automaton has 117 states and 603 transitions. Word has length 6 [2019-02-14 16:29:41,319 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:29:41,319 INFO L480 AbstractCegarLoop]: Abstraction has 117 states and 603 transitions. [2019-02-14 16:29:41,319 INFO L481 AbstractCegarLoop]: Interpolant automaton has 9 states. [2019-02-14 16:29:41,319 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 603 transitions. [2019-02-14 16:29:41,320 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-14 16:29:41,320 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:29:41,320 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-14 16:29:41,320 INFO L423 AbstractCegarLoop]: === Iteration 61 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:29:41,320 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:29:41,320 INFO L82 PathProgramCache]: Analyzing trace with hash 897479758, now seen corresponding path program 1 times [2019-02-14 16:29:41,320 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:29:41,321 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:29:41,321 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2019-02-14 16:29:41,321 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:29:41,321 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:29:41,323 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:29:41,452 INFO L273 TraceCheckUtils]: 0: Hoare triple {26506#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {26508#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2019-02-14 16:29:41,454 INFO L273 TraceCheckUtils]: 1: Hoare triple {26508#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {26509#(= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2019-02-14 16:29:41,454 INFO L273 TraceCheckUtils]: 2: Hoare triple {26509#(= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p1] >= 0; {26509#(= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2019-02-14 16:29:41,455 INFO L273 TraceCheckUtils]: 3: Hoare triple {26509#(= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p2] <= 0; {26509#(= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2019-02-14 16:29:41,455 INFO L273 TraceCheckUtils]: 4: Hoare triple {26509#(= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p3] >= 0; {26509#(= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2019-02-14 16:29:41,456 INFO L273 TraceCheckUtils]: 5: Hoare triple {26509#(= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume !(#memory_int[main_p4] <= 0); {26507#false} is VALID [2019-02-14 16:29:41,456 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:29:41,457 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:29:41,457 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:29:41,457 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-14 16:29:41,457 INFO L207 CegarAbsIntRunner]: [0], [10], [24], [26], [28], [29] [2019-02-14 16:29:41,458 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:29:41,459 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:29:41,475 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:29:41,475 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2019-02-14 16:29:41,475 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:29:41,475 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:29:41,476 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:29:41,476 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 59 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 59 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:29:41,487 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:29:41,487 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:29:41,492 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:29:41,494 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:29:41,495 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:29:41,516 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 [2019-02-14 16:29:41,524 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 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 [2019-02-14 16:29:41,540 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:41,541 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-14 16:29:41,558 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:41,559 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:41,560 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-14 16:29:41,577 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:41,582 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:41,583 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:41,584 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 [2019-02-14 16:29:41,589 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:29:41,612 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:29:41,633 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:29:41,645 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:29:41,657 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:29:41,678 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:29:41,678 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:28, output treesize:35 [2019-02-14 16:29:41,687 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:29:41,687 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_356|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store (store (store (store (store |v_#memory_int_356| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:29:41,687 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:29:41,750 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:41,752 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:41,753 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:41,754 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:41,755 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:41,757 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:41,758 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:41,759 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 [2019-02-14 16:29:41,763 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:29:41,795 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:29:41,796 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2019-02-14 16:29:43,132 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:29:43,133 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_357|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_357| ULTIMATE.start_main_p2))) (and (= |#memory_int| (store |v_#memory_int_357| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_357| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_357| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_357| ULTIMATE.start_main_p5) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:29:43,133 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:29:43,241 INFO L273 TraceCheckUtils]: 0: Hoare triple {26506#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {26513#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-14 16:29:43,243 INFO L273 TraceCheckUtils]: 1: Hoare triple {26513#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {26517#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-14 16:29:43,243 INFO L273 TraceCheckUtils]: 2: Hoare triple {26517#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} assume #memory_int[main_p1] >= 0; {26517#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-14 16:29:43,244 INFO L273 TraceCheckUtils]: 3: Hoare triple {26517#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} assume #memory_int[main_p2] <= 0; {26517#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-14 16:29:43,245 INFO L273 TraceCheckUtils]: 4: Hoare triple {26517#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} assume #memory_int[main_p3] >= 0; {26517#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-14 16:29:43,246 INFO L273 TraceCheckUtils]: 5: Hoare triple {26517#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} assume !(#memory_int[main_p4] <= 0); {26507#false} is VALID [2019-02-14 16:29:43,246 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:29:43,247 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:29:43,272 INFO L273 TraceCheckUtils]: 5: Hoare triple {26530#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume !(#memory_int[main_p4] <= 0); {26507#false} is VALID [2019-02-14 16:29:43,272 INFO L273 TraceCheckUtils]: 4: Hoare triple {26530#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p3] >= 0; {26530#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2019-02-14 16:29:43,273 INFO L273 TraceCheckUtils]: 3: Hoare triple {26530#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p2] <= 0; {26530#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2019-02-14 16:29:43,273 INFO L273 TraceCheckUtils]: 2: Hoare triple {26530#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p1] >= 0; {26530#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2019-02-14 16:29:43,274 INFO L273 TraceCheckUtils]: 1: Hoare triple {26543#(<= (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p4) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {26530#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2019-02-14 16:29:43,276 INFO L273 TraceCheckUtils]: 0: Hoare triple {26506#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {26543#(<= (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p4) 0)} is VALID [2019-02-14 16:29:43,277 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:29:43,296 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 2 imperfect interpolant sequences. [2019-02-14 16:29:43,296 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2, 2] total 6 [2019-02-14 16:29:43,296 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-02-14 16:29:43,297 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 6 [2019-02-14 16:29:43,297 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:29:43,297 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2019-02-14 16:29:43,302 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:29:43,302 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2019-02-14 16:29:43,302 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2019-02-14 16:29:43,302 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=30, Unknown=0, NotChecked=0, Total=56 [2019-02-14 16:29:43,302 INFO L87 Difference]: Start difference. First operand 117 states and 603 transitions. Second operand 4 states. [2019-02-14 16:29:49,811 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:29:49,812 INFO L93 Difference]: Finished difference Result 121 states and 607 transitions. [2019-02-14 16:29:49,812 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2019-02-14 16:29:49,812 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 6 [2019-02-14 16:29:49,812 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:29:49,812 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-02-14 16:29:49,813 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 25 transitions. [2019-02-14 16:29:49,813 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-02-14 16:29:49,813 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 25 transitions. [2019-02-14 16:29:49,813 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 25 transitions. [2019-02-14 16:29:49,833 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 25 edges. 25 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:29:49,836 INFO L225 Difference]: With dead ends: 121 [2019-02-14 16:29:49,836 INFO L226 Difference]: Without dead ends: 117 [2019-02-14 16:29:49,836 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 13 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 6 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=26, Invalid=30, Unknown=0, NotChecked=0, Total=56 [2019-02-14 16:29:49,836 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 117 states. [2019-02-14 16:29:54,157 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 117 to 114. [2019-02-14 16:29:54,157 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:29:54,157 INFO L82 GeneralOperation]: Start isEquivalent. First operand 117 states. Second operand 114 states. [2019-02-14 16:29:54,157 INFO L74 IsIncluded]: Start isIncluded. First operand 117 states. Second operand 114 states. [2019-02-14 16:29:54,157 INFO L87 Difference]: Start difference. First operand 117 states. Second operand 114 states. [2019-02-14 16:29:54,161 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:29:54,161 INFO L93 Difference]: Finished difference Result 117 states and 602 transitions. [2019-02-14 16:29:54,161 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 602 transitions. [2019-02-14 16:29:54,162 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:29:54,162 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:29:54,162 INFO L74 IsIncluded]: Start isIncluded. First operand 114 states. Second operand 117 states. [2019-02-14 16:29:54,162 INFO L87 Difference]: Start difference. First operand 114 states. Second operand 117 states. [2019-02-14 16:29:54,165 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:29:54,165 INFO L93 Difference]: Finished difference Result 117 states and 602 transitions. [2019-02-14 16:29:54,165 INFO L276 IsEmpty]: Start isEmpty. Operand 117 states and 602 transitions. [2019-02-14 16:29:54,165 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:29:54,165 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:29:54,165 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:29:54,165 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:29:54,166 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 114 states. [2019-02-14 16:29:54,168 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 114 states to 114 states and 599 transitions. [2019-02-14 16:29:54,168 INFO L78 Accepts]: Start accepts. Automaton has 114 states and 599 transitions. Word has length 6 [2019-02-14 16:29:54,168 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:29:54,168 INFO L480 AbstractCegarLoop]: Abstraction has 114 states and 599 transitions. [2019-02-14 16:29:54,168 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2019-02-14 16:29:54,169 INFO L276 IsEmpty]: Start isEmpty. Operand 114 states and 599 transitions. [2019-02-14 16:29:54,169 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-14 16:29:54,169 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:29:54,169 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-14 16:29:54,169 INFO L423 AbstractCegarLoop]: === Iteration 62 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:29:54,169 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:29:54,169 INFO L82 PathProgramCache]: Analyzing trace with hash 897162312, now seen corresponding path program 2 times [2019-02-14 16:29:54,169 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:29:54,170 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:29:54,170 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:29:54,170 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:29:54,170 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:29:54,173 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:29:54,603 INFO L273 TraceCheckUtils]: 0: Hoare triple {27209#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {27211#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:29:54,604 INFO L273 TraceCheckUtils]: 1: Hoare triple {27211#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {27212#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:29:54,605 INFO L273 TraceCheckUtils]: 2: Hoare triple {27212#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {27213#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:29:54,606 INFO L273 TraceCheckUtils]: 3: Hoare triple {27213#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {27214#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:29:54,607 INFO L273 TraceCheckUtils]: 4: Hoare triple {27214#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p4 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {27215#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:29:54,607 INFO L273 TraceCheckUtils]: 5: Hoare triple {27215#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {27210#false} is VALID [2019-02-14 16:29:54,608 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:29:54,608 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:29:54,608 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:29:54,608 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2019-02-14 16:29:54,609 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2019-02-14 16:29:54,609 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:29:54,609 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 60 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 60 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:29:54,617 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2019-02-14 16:29:54,617 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2019-02-14 16:29:54,624 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2019-02-14 16:29:54,624 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2019-02-14 16:29:54,627 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:29:54,627 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:29:54,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, 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 [2019-02-14 16:29:54,657 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:54,657 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 [2019-02-14 16:29:54,670 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:54,672 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:54,672 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 [2019-02-14 16:29:54,689 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:54,691 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:54,692 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:54,693 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2019-02-14 16:29:54,717 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:54,718 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:54,720 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:54,721 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:54,722 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2019-02-14 16:29:54,728 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:29:54,760 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:29:54,779 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:29:54,791 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:29:54,803 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:29:54,826 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-02-14 16:29:54,826 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-14 16:29:54,832 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:29:54,832 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_359|, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_359| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:29:54,833 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:29:54,912 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:54,913 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:54,914 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:54,916 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:54,917 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:54,918 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:54,919 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:54,921 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:54,922 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:54,923 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:54,926 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:54,927 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2019-02-14 16:29:54,932 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:29:54,980 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:29:54,980 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-14 16:29:55,017 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:29:55,017 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_360|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_360| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_360| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_360| ULTIMATE.start_main_p3) 0) (= .cse0 0) (= (select |v_#memory_int_360| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_360| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store |v_#memory_int_360| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:29:55,017 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:29:55,093 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,094 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,096 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,097 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,098 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,099 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,100 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,102 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,103 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,104 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,105 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,106 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,107 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,108 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 88 [2019-02-14 16:29:55,115 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:29:55,171 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:29:55,171 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-14 16:29:55,194 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:29:55,195 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_361|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_361| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |v_#memory_int_361| ULTIMATE.start_main_p2) 1)) (= 0 (select |v_#memory_int_361| ULTIMATE.start_main_p4)) (= (select |v_#memory_int_361| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_361| ULTIMATE.start_main_p5)) (= .cse0 0) (= (store |v_#memory_int_361| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:29:55,195 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:29:55,277 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,278 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,279 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,281 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,282 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,283 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,284 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,285 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,287 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,288 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,289 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,290 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,291 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,292 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,293 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,294 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:29:55,294 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 104 [2019-02-14 16:29:55,302 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:29:55,362 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:29:55,362 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-14 16:29:55,376 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:29:55,376 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_362|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_362| ULTIMATE.start_main_p1))) (and (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_362| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_362| ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_362| ULTIMATE.start_main_p5)) (= (+ (select |v_#memory_int_362| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 1 (select |v_#memory_int_362| ULTIMATE.start_main_p3)))) [2019-02-14 16:29:55,376 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:29:55,451 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,453 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,454 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,455 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,456 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,458 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,459 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,460 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,461 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,462 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,502 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,523 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,548 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,569 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,597 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:29:55,606 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:29:55,606 INFO L303 Elim1Store]: Index analysis took 157 ms [2019-02-14 16:29:55,607 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 99 [2019-02-14 16:29:55,637 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:29:55,826 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:29:55,827 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-14 16:29:55,845 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:29:55,846 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_363|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_363| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_363| ULTIMATE.start_main_p3)) (= .cse0 0) (= (store |v_#memory_int_363| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (+ (select |v_#memory_int_363| ULTIMATE.start_main_p2) 1) 0) (= (select |v_#memory_int_363| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 1 (select |v_#memory_int_363| ULTIMATE.start_main_p1)))) [2019-02-14 16:29:55,846 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-14 16:29:55,890 INFO L273 TraceCheckUtils]: 0: Hoare triple {27209#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {27219#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:29:55,892 INFO L273 TraceCheckUtils]: 1: Hoare triple {27219#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {27223#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-14 16:29:55,894 INFO L273 TraceCheckUtils]: 2: Hoare triple {27223#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {27227#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-14 16:29:55,897 INFO L273 TraceCheckUtils]: 3: Hoare triple {27227#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {27231#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-14 16:29:55,903 INFO L273 TraceCheckUtils]: 4: Hoare triple {27231#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {27235#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-02-14 16:29:55,904 INFO L273 TraceCheckUtils]: 5: Hoare triple {27235#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {27210#false} is VALID [2019-02-14 16:29:55,904 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:29:55,904 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:29:56,010 INFO L273 TraceCheckUtils]: 5: Hoare triple {27239#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {27210#false} is VALID [2019-02-14 16:29:56,011 INFO L273 TraceCheckUtils]: 4: Hoare triple {27243#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {27239#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:29:56,012 INFO L273 TraceCheckUtils]: 3: Hoare triple {27247#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {27243#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:29:56,014 INFO L273 TraceCheckUtils]: 2: Hoare triple {27251#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {27247#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:29:56,016 INFO L273 TraceCheckUtils]: 1: Hoare triple {27255#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {27251#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:29:56,019 INFO L273 TraceCheckUtils]: 0: Hoare triple {27209#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {27255#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:29:56,019 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 6 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:29:56,039 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:29:56,039 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2019-02-14 16:29:56,040 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:29:56,040 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2019-02-14 16:29:56,040 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:29:56,040 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-02-14 16:29:56,067 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:29:56,067 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-02-14 16:29:56,067 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-02-14 16:29:56,067 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=102, Invalid=170, Unknown=0, NotChecked=0, Total=272 [2019-02-14 16:29:56,067 INFO L87 Difference]: Start difference. First operand 114 states and 599 transitions. Second operand 12 states. [2019-02-14 16:30:05,300 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:30:05,301 INFO L93 Difference]: Finished difference Result 186 states and 791 transitions. [2019-02-14 16:30:05,301 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-02-14 16:30:05,301 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2019-02-14 16:30:05,301 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:30:05,301 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-14 16:30:05,301 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 88 transitions. [2019-02-14 16:30:05,301 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-14 16:30:05,302 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 88 transitions. [2019-02-14 16:30:05,302 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 88 transitions. [2019-02-14 16:30:05,505 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:30:05,510 INFO L225 Difference]: With dead ends: 186 [2019-02-14 16:30:05,511 INFO L226 Difference]: Without dead ends: 184 [2019-02-14 16:30:05,511 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 100 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=134, Invalid=246, Unknown=0, NotChecked=0, Total=380 [2019-02-14 16:30:05,511 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 184 states. [2019-02-14 16:30:10,664 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 184 to 121. [2019-02-14 16:30:10,664 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:30:10,664 INFO L82 GeneralOperation]: Start isEquivalent. First operand 184 states. Second operand 121 states. [2019-02-14 16:30:10,664 INFO L74 IsIncluded]: Start isIncluded. First operand 184 states. Second operand 121 states. [2019-02-14 16:30:10,664 INFO L87 Difference]: Start difference. First operand 184 states. Second operand 121 states. [2019-02-14 16:30:10,670 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:30:10,670 INFO L93 Difference]: Finished difference Result 184 states and 785 transitions. [2019-02-14 16:30:10,670 INFO L276 IsEmpty]: Start isEmpty. Operand 184 states and 785 transitions. [2019-02-14 16:30:10,671 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:30:10,671 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:30:10,671 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand 184 states. [2019-02-14 16:30:10,671 INFO L87 Difference]: Start difference. First operand 121 states. Second operand 184 states. [2019-02-14 16:30:10,675 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:30:10,675 INFO L93 Difference]: Finished difference Result 184 states and 785 transitions. [2019-02-14 16:30:10,675 INFO L276 IsEmpty]: Start isEmpty. Operand 184 states and 785 transitions. [2019-02-14 16:30:10,675 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:30:10,675 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:30:10,675 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:30:10,676 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:30:10,676 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 121 states. [2019-02-14 16:30:10,678 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 632 transitions. [2019-02-14 16:30:10,678 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 632 transitions. Word has length 6 [2019-02-14 16:30:10,678 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:30:10,678 INFO L480 AbstractCegarLoop]: Abstraction has 121 states and 632 transitions. [2019-02-14 16:30:10,678 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-02-14 16:30:10,678 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 632 transitions. [2019-02-14 16:30:10,679 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-14 16:30:10,679 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:30:10,679 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-14 16:30:10,679 INFO L423 AbstractCegarLoop]: === Iteration 63 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:30:10,679 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:30:10,679 INFO L82 PathProgramCache]: Analyzing trace with hash 897179862, now seen corresponding path program 1 times [2019-02-14 16:30:10,680 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:30:10,680 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:30:10,680 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2019-02-14 16:30:10,680 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:30:10,680 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:30:10,682 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:30:10,788 INFO L273 TraceCheckUtils]: 0: Hoare triple {28162#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {28164#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:30:10,790 INFO L273 TraceCheckUtils]: 1: Hoare triple {28164#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {28164#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:30:10,791 INFO L273 TraceCheckUtils]: 2: Hoare triple {28164#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {28165#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= 0 (select |#memory_int| ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:30:10,791 INFO L273 TraceCheckUtils]: 3: Hoare triple {28165#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= 0 (select |#memory_int| ULTIMATE.start_main_p3)))} assume #memory_int[main_p1] >= 0; {28165#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= 0 (select |#memory_int| ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:30:10,792 INFO L273 TraceCheckUtils]: 4: Hoare triple {28165#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= 0 (select |#memory_int| ULTIMATE.start_main_p3)))} assume #memory_int[main_p2] <= 0; {28166#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:30:10,792 INFO L273 TraceCheckUtils]: 5: Hoare triple {28166#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {28163#false} is VALID [2019-02-14 16:30:10,793 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 2 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-14 16:30:10,793 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:30:10,793 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:30:10,793 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 7 with the following transitions: [2019-02-14 16:30:10,793 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [24], [26], [27] [2019-02-14 16:30:10,794 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:30:10,794 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:30:10,804 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:30:10,804 INFO L272 AbstractInterpreter]: Visited 6 different actions 6 times. Never merged. Never widened. Performed 68 root evaluator evaluations with a maximum evaluation depth of 3. Performed 68 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-14 16:30:10,804 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:30:10,804 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:30:10,805 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:30:10,805 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 61 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 61 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:30:10,815 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:30:10,815 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:30:10,819 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:30:10,822 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:30:10,823 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:30:10,855 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 [2019-02-14 16:30:10,868 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 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 [2019-02-14 16:30:10,879 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:10,880 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-14 16:30:10,898 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:10,900 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:10,900 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-14 16:30:10,920 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:10,924 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:10,926 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:10,927 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 [2019-02-14 16:30:10,933 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:30:10,956 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:30:10,970 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:30:10,983 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:30:10,996 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:30:11,024 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:30:11,024 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:28, output treesize:35 [2019-02-14 16:30:11,035 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:30:11,035 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_368|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_368| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:30:11,036 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:30:11,101 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:11,103 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:11,104 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:11,106 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:11,107 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:11,108 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:11,109 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:11,110 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 [2019-02-14 16:30:11,115 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:30:11,150 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:30:11,150 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:40, output treesize:30 [2019-02-14 16:30:13,192 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:30:13,192 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_369|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_369| ULTIMATE.start_main_p2))) (and (= |#memory_int| (store |v_#memory_int_369| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_369| ULTIMATE.start_main_p5) 0) (= 0 (select |v_#memory_int_369| ULTIMATE.start_main_p4)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_369| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:30:13,193 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:30:13,299 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:13,301 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:13,302 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:13,303 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:13,304 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:13,306 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:13,307 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:13,308 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:13,309 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:13,310 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 [2019-02-14 16:30:13,314 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:30:13,349 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:30:13,350 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2019-02-14 16:30:13,361 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:30:13,361 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_370|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_370| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_370| ULTIMATE.start_main_p4) 0) (= .cse0 0) (= 0 (+ (select |v_#memory_int_370| ULTIMATE.start_main_p2) 1)) (= (store |v_#memory_int_370| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_370| ULTIMATE.start_main_p5) 0))) [2019-02-14 16:30:13,362 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:30:13,460 INFO L273 TraceCheckUtils]: 0: Hoare triple {28162#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {28170#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:30:13,462 INFO L273 TraceCheckUtils]: 1: Hoare triple {28170#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {28174#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-14 16:30:13,463 INFO L273 TraceCheckUtils]: 2: Hoare triple {28174#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {28178#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-02-14 16:30:13,464 INFO L273 TraceCheckUtils]: 3: Hoare triple {28178#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume #memory_int[main_p1] >= 0; {28178#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-02-14 16:30:13,465 INFO L273 TraceCheckUtils]: 4: Hoare triple {28178#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume #memory_int[main_p2] <= 0; {28178#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-02-14 16:30:13,466 INFO L273 TraceCheckUtils]: 5: Hoare triple {28178#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p3] >= 0); {28163#false} is VALID [2019-02-14 16:30:13,467 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:30:13,467 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:30:13,501 INFO L273 TraceCheckUtils]: 5: Hoare triple {28166#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {28163#false} is VALID [2019-02-14 16:30:13,501 INFO L273 TraceCheckUtils]: 4: Hoare triple {28166#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {28166#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:30:13,502 INFO L273 TraceCheckUtils]: 3: Hoare triple {28166#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {28166#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:30:13,503 INFO L273 TraceCheckUtils]: 2: Hoare triple {28197#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {28166#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:30:13,504 INFO L273 TraceCheckUtils]: 1: Hoare triple {28201#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {28197#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1))} is VALID [2019-02-14 16:30:13,506 INFO L273 TraceCheckUtils]: 0: Hoare triple {28162#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {28201#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1))} is VALID [2019-02-14 16:30:13,507 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:30:13,527 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:30:13,527 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 8 [2019-02-14 16:30:13,527 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:30:13,527 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2019-02-14 16:30:13,527 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:30:13,527 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-14 16:30:13,547 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:30:13,547 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-14 16:30:13,547 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-14 16:30:13,547 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=52, Unknown=0, NotChecked=0, Total=90 [2019-02-14 16:30:13,547 INFO L87 Difference]: Start difference. First operand 121 states and 632 transitions. Second operand 8 states. [2019-02-14 16:30:20,610 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:30:20,611 INFO L93 Difference]: Finished difference Result 161 states and 745 transitions. [2019-02-14 16:30:20,611 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-02-14 16:30:20,611 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2019-02-14 16:30:20,611 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:30:20,611 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:30:20,612 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 60 transitions. [2019-02-14 16:30:20,612 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:30:20,614 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 60 transitions. [2019-02-14 16:30:20,614 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 60 transitions. [2019-02-14 16:30:20,704 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:30:20,708 INFO L225 Difference]: With dead ends: 161 [2019-02-14 16:30:20,708 INFO L226 Difference]: Without dead ends: 160 [2019-02-14 16:30:20,708 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 5 SyntacticMatches, 1 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=53, Invalid=79, Unknown=0, NotChecked=0, Total=132 [2019-02-14 16:30:20,708 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 160 states. [2019-02-14 16:30:26,503 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 160 to 133. [2019-02-14 16:30:26,503 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:30:26,503 INFO L82 GeneralOperation]: Start isEquivalent. First operand 160 states. Second operand 133 states. [2019-02-14 16:30:26,503 INFO L74 IsIncluded]: Start isIncluded. First operand 160 states. Second operand 133 states. [2019-02-14 16:30:26,503 INFO L87 Difference]: Start difference. First operand 160 states. Second operand 133 states. [2019-02-14 16:30:26,513 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:30:26,513 INFO L93 Difference]: Finished difference Result 160 states and 742 transitions. [2019-02-14 16:30:26,513 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 742 transitions. [2019-02-14 16:30:26,514 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:30:26,514 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:30:26,514 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand 160 states. [2019-02-14 16:30:26,514 INFO L87 Difference]: Start difference. First operand 133 states. Second operand 160 states. [2019-02-14 16:30:26,523 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:30:26,523 INFO L93 Difference]: Finished difference Result 160 states and 742 transitions. [2019-02-14 16:30:26,523 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 742 transitions. [2019-02-14 16:30:26,523 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:30:26,524 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:30:26,524 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:30:26,524 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:30:26,524 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 133 states. [2019-02-14 16:30:26,530 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 133 states to 133 states and 714 transitions. [2019-02-14 16:30:26,530 INFO L78 Accepts]: Start accepts. Automaton has 133 states and 714 transitions. Word has length 6 [2019-02-14 16:30:26,530 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:30:26,530 INFO L480 AbstractCegarLoop]: Abstraction has 133 states and 714 transitions. [2019-02-14 16:30:26,530 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-14 16:30:26,530 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 714 transitions. [2019-02-14 16:30:26,531 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-14 16:30:26,531 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:30:26,531 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-14 16:30:26,531 INFO L423 AbstractCegarLoop]: === Iteration 64 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:30:26,531 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:30:26,532 INFO L82 PathProgramCache]: Analyzing trace with hash 900993110, now seen corresponding path program 2 times [2019-02-14 16:30:26,532 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:30:26,532 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:30:26,532 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:30:26,532 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:30:26,533 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:30:26,535 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:30:26,652 INFO L273 TraceCheckUtils]: 0: Hoare triple {29055#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {29057#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-14 16:30:26,654 INFO L273 TraceCheckUtils]: 1: Hoare triple {29057#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {29058#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:30:26,655 INFO L273 TraceCheckUtils]: 2: Hoare triple {29058#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {29059#(<= 1 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:30:26,655 INFO L273 TraceCheckUtils]: 3: Hoare triple {29059#(<= 1 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {29059#(<= 1 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:30:26,656 INFO L273 TraceCheckUtils]: 4: Hoare triple {29059#(<= 1 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {29059#(<= 1 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:30:26,656 INFO L273 TraceCheckUtils]: 5: Hoare triple {29059#(<= 1 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {29056#false} is VALID [2019-02-14 16:30:26,657 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:30:26,657 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:30:26,657 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:30:26,657 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2019-02-14 16:30:26,657 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2019-02-14 16:30:26,658 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:30:26,658 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 62 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 62 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:30:26,667 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2019-02-14 16:30:26,668 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2019-02-14 16:30:26,673 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2019-02-14 16:30:26,673 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2019-02-14 16:30:26,679 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:30:26,679 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:30:26,695 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 [2019-02-14 16:30:26,704 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 [2019-02-14 16:30:26,714 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 25 [2019-02-14 16:30:26,734 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:26,735 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 31 [2019-02-14 16:30:26,750 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:26,757 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:26,757 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 38 [2019-02-14 16:30:26,763 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:30:26,779 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:30:26,797 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:30:26,809 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:30:26,821 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:30:26,838 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:30:26,838 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:25, output treesize:32 [2019-02-14 16:30:26,844 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:30:26,845 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_373|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_373| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-14 16:30:26,845 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:30:26,902 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:26,904 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:26,905 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:26,906 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:26,907 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 [2019-02-14 16:30:26,911 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:30:26,929 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. [2019-02-14 16:30:26,930 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-02-14 16:30:26,941 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:30:26,941 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_374|, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_374| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_374| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_374| ULTIMATE.start_main_p5) 0) (= (store |v_#memory_int_374| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) [2019-02-14 16:30:26,942 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:30:27,000 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:27,001 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:27,002 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:27,003 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:27,004 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:27,005 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:27,006 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 [2019-02-14 16:30:27,010 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:30:27,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. [2019-02-14 16:30:27,033 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-02-14 16:30:29,053 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:30:29,053 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_375|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_375| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_375| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_375| ULTIMATE.start_main_p5) 0) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= |#memory_int| (store |v_#memory_int_375| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))))) [2019-02-14 16:30:29,053 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-14 16:30:29,116 INFO L273 TraceCheckUtils]: 0: Hoare triple {29055#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {29063#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-14 16:30:29,118 INFO L273 TraceCheckUtils]: 1: Hoare triple {29063#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {29067#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-14 16:30:29,119 INFO L273 TraceCheckUtils]: 2: Hoare triple {29067#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {29071#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:30:29,120 INFO L273 TraceCheckUtils]: 3: Hoare triple {29071#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {29071#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:30:29,120 INFO L273 TraceCheckUtils]: 4: Hoare triple {29071#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {29071#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:30:29,121 INFO L273 TraceCheckUtils]: 5: Hoare triple {29071#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {29056#false} is VALID [2019-02-14 16:30:29,121 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:30:29,121 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:30:29,166 INFO L273 TraceCheckUtils]: 5: Hoare triple {29081#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {29056#false} is VALID [2019-02-14 16:30:29,167 INFO L273 TraceCheckUtils]: 4: Hoare triple {29081#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {29081#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:30:29,168 INFO L273 TraceCheckUtils]: 3: Hoare triple {29081#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {29081#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:30:29,169 INFO L273 TraceCheckUtils]: 2: Hoare triple {29091#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {29081#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:30:29,170 INFO L273 TraceCheckUtils]: 1: Hoare triple {29095#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {29091#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:30:29,172 INFO L273 TraceCheckUtils]: 0: Hoare triple {29055#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {29095#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:30:29,173 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:30:29,192 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:30:29,193 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-14 16:30:29,193 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:30:29,193 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2019-02-14 16:30:29,193 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:30:29,193 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-14 16:30:29,210 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:30:29,210 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-14 16:30:29,210 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-14 16:30:29,211 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=65, Unknown=0, NotChecked=0, Total=110 [2019-02-14 16:30:29,211 INFO L87 Difference]: Start difference. First operand 133 states and 714 transitions. Second operand 8 states. [2019-02-14 16:30:36,019 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:30:36,020 INFO L93 Difference]: Finished difference Result 172 states and 801 transitions. [2019-02-14 16:30:36,020 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-14 16:30:36,020 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 6 [2019-02-14 16:30:36,020 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:30:36,020 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:30:36,021 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 66 transitions. [2019-02-14 16:30:36,021 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:30:36,021 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 66 transitions. [2019-02-14 16:30:36,022 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 66 transitions. [2019-02-14 16:30:36,143 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:30:36,147 INFO L225 Difference]: With dead ends: 172 [2019-02-14 16:30:36,147 INFO L226 Difference]: Without dead ends: 170 [2019-02-14 16:30:36,147 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=53, Invalid=79, Unknown=0, NotChecked=0, Total=132 [2019-02-14 16:30:36,147 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 170 states. [2019-02-14 16:30:42,350 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 170 to 137. [2019-02-14 16:30:42,350 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:30:42,350 INFO L82 GeneralOperation]: Start isEquivalent. First operand 170 states. Second operand 137 states. [2019-02-14 16:30:42,350 INFO L74 IsIncluded]: Start isIncluded. First operand 170 states. Second operand 137 states. [2019-02-14 16:30:42,350 INFO L87 Difference]: Start difference. First operand 170 states. Second operand 137 states. [2019-02-14 16:30:42,357 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:30:42,357 INFO L93 Difference]: Finished difference Result 170 states and 798 transitions. [2019-02-14 16:30:42,357 INFO L276 IsEmpty]: Start isEmpty. Operand 170 states and 798 transitions. [2019-02-14 16:30:42,358 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:30:42,358 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:30:42,358 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand 170 states. [2019-02-14 16:30:42,358 INFO L87 Difference]: Start difference. First operand 137 states. Second operand 170 states. [2019-02-14 16:30:42,365 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:30:42,365 INFO L93 Difference]: Finished difference Result 170 states and 798 transitions. [2019-02-14 16:30:42,365 INFO L276 IsEmpty]: Start isEmpty. Operand 170 states and 798 transitions. [2019-02-14 16:30:42,365 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:30:42,365 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:30:42,366 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:30:42,366 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:30:42,366 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 137 states. [2019-02-14 16:30:42,371 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 137 states to 137 states and 738 transitions. [2019-02-14 16:30:42,371 INFO L78 Accepts]: Start accepts. Automaton has 137 states and 738 transitions. Word has length 6 [2019-02-14 16:30:42,371 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:30:42,371 INFO L480 AbstractCegarLoop]: Abstraction has 137 states and 738 transitions. [2019-02-14 16:30:42,372 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-14 16:30:42,372 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 738 transitions. [2019-02-14 16:30:42,372 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-14 16:30:42,372 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:30:42,372 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-14 16:30:42,373 INFO L423 AbstractCegarLoop]: === Iteration 65 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:30:42,373 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:30:42,373 INFO L82 PathProgramCache]: Analyzing trace with hash 900629352, now seen corresponding path program 3 times [2019-02-14 16:30:42,373 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:30:42,373 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:30:42,374 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2019-02-14 16:30:42,374 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:30:42,374 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:30:42,376 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:30:42,961 INFO L273 TraceCheckUtils]: 0: Hoare triple {29995#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {29997#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:30:42,962 INFO L273 TraceCheckUtils]: 1: Hoare triple {29997#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {29998#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2019-02-14 16:30:42,963 INFO L273 TraceCheckUtils]: 2: Hoare triple {29998#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {29999#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} is VALID [2019-02-14 16:30:42,964 INFO L273 TraceCheckUtils]: 3: Hoare triple {29999#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {30000#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:30:42,965 INFO L273 TraceCheckUtils]: 4: Hoare triple {30000#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {30001#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:30:42,966 INFO L273 TraceCheckUtils]: 5: Hoare triple {30001#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {29996#false} is VALID [2019-02-14 16:30:42,966 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:30:42,967 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:30:42,967 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:30:42,967 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2019-02-14 16:30:42,967 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2019-02-14 16:30:42,967 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:30:42,967 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 63 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 63 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:30:42,978 INFO L103 rtionOrderModulation]: Keeping assertion order TERMS_WITH_SMALL_CONSTANTS_FIRST [2019-02-14 16:30:42,979 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder TERMS_WITH_SMALL_CONSTANTS_FIRST (IT: FPandBP) [2019-02-14 16:30:42,984 INFO L249 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2019-02-14 16:30:42,984 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2019-02-14 16:30:42,991 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:30:42,991 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:30:43,027 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 [2019-02-14 16:30:43,036 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,037 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 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 [2019-02-14 16:30:43,050 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,051 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,052 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 [2019-02-14 16:30:43,069 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,071 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,072 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,073 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 [2019-02-14 16:30:43,100 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,101 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,102 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,104 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,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, 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 [2019-02-14 16:30:43,111 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:30:43,142 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:30:43,160 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:30:43,175 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:30:43,188 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:30:43,210 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. [2019-02-14 16:30:43,210 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-14 16:30:43,218 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:30:43,218 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_378|, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_378| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:30:43,219 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:30:43,298 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,299 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,301 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,302 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,303 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,305 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,306 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,307 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,309 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,310 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,311 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,312 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2019-02-14 16:30:43,318 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:30:43,369 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:30:43,369 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-14 16:30:43,412 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:30:43,412 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_379|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_379| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= |#memory_int| (store |v_#memory_int_379| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (select |v_#memory_int_379| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_379| ULTIMATE.start_main_p4)) (= (select |v_#memory_int_379| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_379| ULTIMATE.start_main_p1) 0))) [2019-02-14 16:30:43,413 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:30:43,489 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,490 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,492 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,493 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,494 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,495 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,497 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,498 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,499 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,500 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,501 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,502 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,503 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:30:43,504 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 80 [2019-02-14 16:30:43,510 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:30:43,558 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:30:43,558 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-14 16:30:43,574 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:30:43,575 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_380|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_380| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_380| ULTIMATE.start_main_p3) 1) (= (select |v_#memory_int_380| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_380| ULTIMATE.start_main_p4) 0) (= (store |v_#memory_int_380| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_380| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:30:43,575 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:30:43,687 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,689 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,691 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,693 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,695 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,697 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,699 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,701 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,703 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,706 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,708 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,710 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,713 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,713 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 78 [2019-02-14 16:30:43,722 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:30:43,783 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:30:43,783 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-14 16:30:43,798 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:30:43,798 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_381|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_381| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_381| ULTIMATE.start_main_p3) 1) (= (select |v_#memory_int_381| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_381| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_381| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_381| ULTIMATE.start_main_p1) 1) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:30:43,799 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:30:43,935 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,937 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,939 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,941 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,943 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,945 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,947 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,949 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,951 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,953 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,955 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,957 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,957 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:30:43,959 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:30:43,960 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 97 [2019-02-14 16:30:43,968 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:30:44,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. [2019-02-14 16:30:44,037 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2019-02-14 16:30:44,056 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:30:44,056 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_382|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_382| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_382| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |v_#memory_int_382| ULTIMATE.start_main_p4) 1)) (= 1 (select |v_#memory_int_382| ULTIMATE.start_main_p3)) (= |#memory_int| (store |v_#memory_int_382| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_382| ULTIMATE.start_main_p5) 0))) [2019-02-14 16:30:44,057 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:30:44,133 INFO L273 TraceCheckUtils]: 0: Hoare triple {29995#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {30005#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:30:44,135 INFO L273 TraceCheckUtils]: 1: Hoare triple {30005#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {30009#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:30:44,138 INFO L273 TraceCheckUtils]: 2: Hoare triple {30009#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {30013#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:30:44,141 INFO L273 TraceCheckUtils]: 3: Hoare triple {30013#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {30017#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:30:44,152 INFO L273 TraceCheckUtils]: 4: Hoare triple {30017#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {30021#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-02-14 16:30:44,153 INFO L273 TraceCheckUtils]: 5: Hoare triple {30021#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {29996#false} is VALID [2019-02-14 16:30:44,153 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:30:44,153 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:30:44,272 INFO L273 TraceCheckUtils]: 5: Hoare triple {30025#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {29996#false} is VALID [2019-02-14 16:30:44,273 INFO L273 TraceCheckUtils]: 4: Hoare triple {30029#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {30025#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:30:44,274 INFO L273 TraceCheckUtils]: 3: Hoare triple {30033#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {30029#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:30:44,276 INFO L273 TraceCheckUtils]: 2: Hoare triple {30037#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {30033#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:30:44,278 INFO L273 TraceCheckUtils]: 1: Hoare triple {30041#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {30037#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:30:44,281 INFO L273 TraceCheckUtils]: 0: Hoare triple {29995#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {30041#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:30:44,281 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 5 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:30:44,299 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:30:44,299 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2019-02-14 16:30:44,299 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:30:44,299 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2019-02-14 16:30:44,299 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:30:44,299 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-02-14 16:30:44,325 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:30:44,325 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-02-14 16:30:44,326 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-02-14 16:30:44,326 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=100, Invalid=172, Unknown=0, NotChecked=0, Total=272 [2019-02-14 16:30:44,326 INFO L87 Difference]: Start difference. First operand 137 states and 738 transitions. Second operand 12 states. [2019-02-14 16:30:56,155 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:30:56,156 INFO L93 Difference]: Finished difference Result 209 states and 906 transitions. [2019-02-14 16:30:56,156 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-02-14 16:30:56,156 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 6 [2019-02-14 16:30:56,156 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:30:56,156 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-14 16:30:56,157 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 91 transitions. [2019-02-14 16:30:56,157 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-14 16:30:56,158 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 91 transitions. [2019-02-14 16:30:56,158 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 91 transitions. [2019-02-14 16:30:56,534 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:30:56,541 INFO L225 Difference]: With dead ends: 209 [2019-02-14 16:30:56,541 INFO L226 Difference]: Without dead ends: 207 [2019-02-14 16:30:56,541 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 99 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=132, Invalid=248, Unknown=0, NotChecked=0, Total=380 [2019-02-14 16:30:56,542 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 207 states. [2019-02-14 16:31:02,301 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 207 to 123. [2019-02-14 16:31:02,302 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:31:02,302 INFO L82 GeneralOperation]: Start isEquivalent. First operand 207 states. Second operand 123 states. [2019-02-14 16:31:02,302 INFO L74 IsIncluded]: Start isIncluded. First operand 207 states. Second operand 123 states. [2019-02-14 16:31:02,302 INFO L87 Difference]: Start difference. First operand 207 states. Second operand 123 states. [2019-02-14 16:31:02,308 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:31:02,308 INFO L93 Difference]: Finished difference Result 207 states and 901 transitions. [2019-02-14 16:31:02,308 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 901 transitions. [2019-02-14 16:31:02,309 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:31:02,309 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:31:02,309 INFO L74 IsIncluded]: Start isIncluded. First operand 123 states. Second operand 207 states. [2019-02-14 16:31:02,309 INFO L87 Difference]: Start difference. First operand 123 states. Second operand 207 states. [2019-02-14 16:31:02,314 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:31:02,314 INFO L93 Difference]: Finished difference Result 207 states and 901 transitions. [2019-02-14 16:31:02,315 INFO L276 IsEmpty]: Start isEmpty. Operand 207 states and 901 transitions. [2019-02-14 16:31:02,315 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:31:02,315 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:31:02,315 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:31:02,315 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:31:02,315 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 123 states. [2019-02-14 16:31:02,318 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 123 states to 123 states and 652 transitions. [2019-02-14 16:31:02,318 INFO L78 Accepts]: Start accepts. Automaton has 123 states and 652 transitions. Word has length 6 [2019-02-14 16:31:02,319 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:31:02,319 INFO L480 AbstractCegarLoop]: Abstraction has 123 states and 652 transitions. [2019-02-14 16:31:02,319 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-02-14 16:31:02,319 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 652 transitions. [2019-02-14 16:31:02,319 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2019-02-14 16:31:02,319 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:31:02,319 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2019-02-14 16:31:02,320 INFO L423 AbstractCegarLoop]: === Iteration 66 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:31:02,320 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:31:02,320 INFO L82 PathProgramCache]: Analyzing trace with hash 900750874, now seen corresponding path program 2 times [2019-02-14 16:31:02,320 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:31:02,321 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:31:02,321 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2019-02-14 16:31:02,321 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:31:02,321 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:31:02,324 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:31:02,484 INFO L273 TraceCheckUtils]: 0: Hoare triple {31042#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {31044#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:31:02,485 INFO L273 TraceCheckUtils]: 1: Hoare triple {31044#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {31045#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2019-02-14 16:31:02,486 INFO L273 TraceCheckUtils]: 2: Hoare triple {31045#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {31046#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0))} is VALID [2019-02-14 16:31:02,487 INFO L273 TraceCheckUtils]: 3: Hoare triple {31046#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {31047#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:31:02,488 INFO L273 TraceCheckUtils]: 4: Hoare triple {31047#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {31047#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:31:02,488 INFO L273 TraceCheckUtils]: 5: Hoare triple {31047#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {31043#false} is VALID [2019-02-14 16:31:02,489 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:31:02,489 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:31:02,489 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:31:02,489 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2019-02-14 16:31:02,490 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2019-02-14 16:31:02,490 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:31:02,490 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 64 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 64 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:31:02,500 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2019-02-14 16:31:02,500 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2019-02-14 16:31:02,507 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2019-02-14 16:31:02,507 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2019-02-14 16:31:02,510 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:31:02,511 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:31:02,538 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 [2019-02-14 16:31:02,548 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 [2019-02-14 16:31:02,565 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:02,565 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-14 16:31:02,580 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:02,581 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:02,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, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-14 16:31:02,600 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:02,605 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:02,606 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:02,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, 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 [2019-02-14 16:31:02,613 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:31:02,635 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:31:02,650 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:31:02,662 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:31:02,675 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:31:02,698 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:31:02,698 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:28, output treesize:35 [2019-02-14 16:31:02,705 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:31:02,705 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_387|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_387| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:31:02,706 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:31:02,782 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:02,783 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:02,785 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:02,786 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:02,787 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:02,789 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:02,790 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:02,790 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 [2019-02-14 16:31:02,795 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:31:02,831 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:31:02,831 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-02-14 16:31:04,837 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:31:04,837 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_388|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_388| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_388| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_388| ULTIMATE.start_main_p4)) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store |v_#memory_int_388| ULTIMATE.start_main_p3 (+ .cse0 1))) (= (select |v_#memory_int_388| ULTIMATE.start_main_p2) 0))) [2019-02-14 16:31:04,837 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:31:04,903 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:04,905 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:04,906 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:04,907 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:04,908 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:04,909 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:04,910 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:04,911 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:04,912 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:04,913 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 [2019-02-14 16:31:04,918 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:31:04,955 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:31:04,956 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-02-14 16:31:04,966 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:31:04,966 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_389|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_389| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_389| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_389| ULTIMATE.start_main_p4) 0) (= (select |v_#memory_int_389| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store |v_#memory_int_389| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:31:04,966 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:31:05,035 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:05,036 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:05,072 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:05,073 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:05,074 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:05,075 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:05,075 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:05,076 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:05,077 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:05,078 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:05,079 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:05,079 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:31:05,080 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 83 [2019-02-14 16:31:05,114 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:31:05,175 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:31:05,175 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:32 [2019-02-14 16:31:07,347 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:31:07,347 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_390|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_390| ULTIMATE.start_main_p5))) (and (= 0 (+ (select |v_#memory_int_390| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_390| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_390| ULTIMATE.start_main_p4)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (store |v_#memory_int_390| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|))) [2019-02-14 16:31:07,347 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-14 16:31:07,424 INFO L273 TraceCheckUtils]: 0: Hoare triple {31042#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {31051#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:31:07,426 INFO L273 TraceCheckUtils]: 1: Hoare triple {31051#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {31055#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:31:07,427 INFO L273 TraceCheckUtils]: 2: Hoare triple {31055#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {31059#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-14 16:31:07,429 INFO L273 TraceCheckUtils]: 3: Hoare triple {31059#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {31063#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:31:07,430 INFO L273 TraceCheckUtils]: 4: Hoare triple {31063#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {31063#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:31:07,431 INFO L273 TraceCheckUtils]: 5: Hoare triple {31063#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {31043#false} is VALID [2019-02-14 16:31:07,431 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:31:07,431 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:31:07,519 INFO L273 TraceCheckUtils]: 5: Hoare triple {31047#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {31043#false} is VALID [2019-02-14 16:31:07,520 INFO L273 TraceCheckUtils]: 4: Hoare triple {31047#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {31047#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:31:07,521 INFO L273 TraceCheckUtils]: 3: Hoare triple {31076#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {31047#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:31:07,522 INFO L273 TraceCheckUtils]: 2: Hoare triple {31080#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {31076#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:31:07,524 INFO L273 TraceCheckUtils]: 1: Hoare triple {31084#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {31080#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:31:07,527 INFO L273 TraceCheckUtils]: 0: Hoare triple {31042#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {31084#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:31:07,527 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 3 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:31:07,546 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:31:07,546 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2019-02-14 16:31:07,546 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:31:07,547 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2019-02-14 16:31:07,547 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:31:07,547 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-14 16:31:07,567 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:31:07,567 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-14 16:31:07,567 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-14 16:31:07,568 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=91, Unknown=0, NotChecked=0, Total=156 [2019-02-14 16:31:07,568 INFO L87 Difference]: Start difference. First operand 123 states and 652 transitions. Second operand 10 states. [2019-02-14 16:31:15,770 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:31:15,770 INFO L93 Difference]: Finished difference Result 180 states and 787 transitions. [2019-02-14 16:31:15,770 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-02-14 16:31:15,770 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 6 [2019-02-14 16:31:15,771 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:31:15,771 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:31:15,771 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 78 transitions. [2019-02-14 16:31:15,771 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:31:15,771 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 78 transitions. [2019-02-14 16:31:15,772 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 78 transitions. [2019-02-14 16:31:15,891 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:31:15,896 INFO L225 Difference]: With dead ends: 180 [2019-02-14 16:31:15,896 INFO L226 Difference]: Without dead ends: 173 [2019-02-14 16:31:15,896 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 52 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=83, Invalid=127, Unknown=0, NotChecked=0, Total=210 [2019-02-14 16:31:15,896 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 173 states. [2019-02-14 16:31:22,416 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 173 to 134. [2019-02-14 16:31:22,416 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:31:22,416 INFO L82 GeneralOperation]: Start isEquivalent. First operand 173 states. Second operand 134 states. [2019-02-14 16:31:22,416 INFO L74 IsIncluded]: Start isIncluded. First operand 173 states. Second operand 134 states. [2019-02-14 16:31:22,417 INFO L87 Difference]: Start difference. First operand 173 states. Second operand 134 states. [2019-02-14 16:31:22,421 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:31:22,422 INFO L93 Difference]: Finished difference Result 173 states and 777 transitions. [2019-02-14 16:31:22,422 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 777 transitions. [2019-02-14 16:31:22,422 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:31:22,422 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:31:22,422 INFO L74 IsIncluded]: Start isIncluded. First operand 134 states. Second operand 173 states. [2019-02-14 16:31:22,422 INFO L87 Difference]: Start difference. First operand 134 states. Second operand 173 states. [2019-02-14 16:31:22,430 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:31:22,431 INFO L93 Difference]: Finished difference Result 173 states and 777 transitions. [2019-02-14 16:31:22,431 INFO L276 IsEmpty]: Start isEmpty. Operand 173 states and 777 transitions. [2019-02-14 16:31:22,431 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:31:22,431 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:31:22,431 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:31:22,431 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:31:22,431 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 134 states. [2019-02-14 16:31:22,434 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 134 states to 134 states and 703 transitions. [2019-02-14 16:31:22,434 INFO L78 Accepts]: Start accepts. Automaton has 134 states and 703 transitions. Word has length 6 [2019-02-14 16:31:22,434 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:31:22,434 INFO L480 AbstractCegarLoop]: Abstraction has 134 states and 703 transitions. [2019-02-14 16:31:22,434 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-14 16:31:22,434 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 703 transitions. [2019-02-14 16:31:22,435 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-14 16:31:22,435 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:31:22,435 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-14 16:31:22,435 INFO L423 AbstractCegarLoop]: === Iteration 67 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:31:22,435 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:31:22,436 INFO L82 PathProgramCache]: Analyzing trace with hash -2018172698, now seen corresponding path program 1 times [2019-02-14 16:31:22,436 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:31:22,436 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:31:22,436 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2019-02-14 16:31:22,436 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:31:22,436 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:31:22,439 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:31:22,697 INFO L273 TraceCheckUtils]: 0: Hoare triple {31987#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {31989#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2019-02-14 16:31:22,698 INFO L273 TraceCheckUtils]: 1: Hoare triple {31989#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {31990#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:31:22,699 INFO L273 TraceCheckUtils]: 2: Hoare triple {31990#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {31991#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:31:22,700 INFO L273 TraceCheckUtils]: 3: Hoare triple {31991#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {31991#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:31:22,701 INFO L273 TraceCheckUtils]: 4: Hoare triple {31991#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {31992#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2019-02-14 16:31:22,702 INFO L273 TraceCheckUtils]: 5: Hoare triple {31992#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {31993#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:31:22,702 INFO L273 TraceCheckUtils]: 6: Hoare triple {31993#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {31988#false} is VALID [2019-02-14 16:31:22,703 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-14 16:31:22,703 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:31:22,703 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:31:22,703 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2019-02-14 16:31:22,704 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [18], [20], [24], [25] [2019-02-14 16:31:22,704 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:31:22,705 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:31:22,713 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:31:22,714 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 4 fixpoints after 4 different actions. Largest state had 0 variables. [2019-02-14 16:31:22,714 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:31:22,714 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:31:22,714 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:31:22,714 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 65 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 65 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:31:22,724 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:31:22,724 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:31:22,729 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:31:22,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:31:22,734 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:31:22,759 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 [2019-02-14 16:31:22,768 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:22,769 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2019-02-14 16:31:22,781 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:22,783 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:22,783 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 [2019-02-14 16:31:22,814 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:22,815 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:22,817 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:22,818 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 [2019-02-14 16:31:22,842 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:22,843 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:22,845 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:22,846 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:22,847 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 [2019-02-14 16:31:22,853 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:31:22,889 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:31:22,907 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:31:22,921 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:31:22,933 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:31:22,956 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-02-14 16:31:22,956 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-14 16:31:22,968 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:31:22,968 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_394|, ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_394| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:31:22,968 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:31:23,042 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:23,043 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:23,044 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:23,044 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:23,046 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:23,047 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:23,048 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:23,050 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:23,051 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:23,052 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:23,054 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:23,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 [2019-02-14 16:31:23,061 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:31:23,107 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:31:23,108 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-14 16:31:25,250 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:31:25,250 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_395|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_395| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_395| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_395| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_395| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_395| ULTIMATE.start_main_p2) 0) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store |v_#memory_int_395| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:31:25,250 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:31:25,560 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,561 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,562 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,564 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,565 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,566 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,567 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,568 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,570 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,571 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,572 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,573 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,574 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,575 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 80 [2019-02-14 16:31:25,582 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:31:25,632 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:31:25,633 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-14 16:31:25,647 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:31:25,647 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_396|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_396| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_396| ULTIMATE.start_main_p2) 0) (= 0 (select |v_#memory_int_396| ULTIMATE.start_main_p3)) (= (+ (select |v_#memory_int_396| ULTIMATE.start_main_p4) 1) 0) (= .cse0 0) (= (select |v_#memory_int_396| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store |v_#memory_int_396| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:31:25,647 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:31:25,725 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,732 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,733 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,734 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,735 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,736 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,737 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,738 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,739 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,740 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,742 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,743 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,744 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,745 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,746 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:31:25,747 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 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 [2019-02-14 16:31:25,753 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:31:25,809 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:31:25,809 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-14 16:31:25,850 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:31:25,851 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_397|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_397| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_397| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_397| ULTIMATE.start_main_p3)) (= |#memory_int| (store |v_#memory_int_397| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 (+ (select |v_#memory_int_397| ULTIMATE.start_main_p4) 1)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |v_#memory_int_397| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:31:25,851 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:31:25,927 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,929 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,930 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,931 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,933 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,934 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,935 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,936 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,938 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,939 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,940 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,941 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,942 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:31:25,943 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:25,944 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 93 [2019-02-14 16:31:25,951 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:31:26,006 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:31:26,006 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2019-02-14 16:31:26,047 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:31:26,047 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_398|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_398| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_398| ULTIMATE.start_main_p5)) (= 0 .cse0) (= 1 (select |v_#memory_int_398| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_398| ULTIMATE.start_main_p3)) (= 0 (+ (select |v_#memory_int_398| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store |v_#memory_int_398| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))))) [2019-02-14 16:31:26,047 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:31:26,120 INFO L273 TraceCheckUtils]: 0: Hoare triple {31987#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {31997#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:31:26,122 INFO L273 TraceCheckUtils]: 1: Hoare triple {31997#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {32001#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-02-14 16:31:26,125 INFO L273 TraceCheckUtils]: 2: Hoare triple {32001#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {32005#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:31:26,129 INFO L273 TraceCheckUtils]: 3: Hoare triple {32005#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {32009#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:31:26,132 INFO L273 TraceCheckUtils]: 4: Hoare triple {32009#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {32013#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2019-02-14 16:31:26,133 INFO L273 TraceCheckUtils]: 5: Hoare triple {32013#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume #memory_int[main_p1] >= 0; {32013#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2019-02-14 16:31:26,134 INFO L273 TraceCheckUtils]: 6: Hoare triple {32013#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume !(#memory_int[main_p2] <= 0); {31988#false} is VALID [2019-02-14 16:31:26,134 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:31:26,134 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:31:26,932 INFO L273 TraceCheckUtils]: 6: Hoare triple {31993#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {31988#false} is VALID [2019-02-14 16:31:26,933 INFO L273 TraceCheckUtils]: 5: Hoare triple {31993#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {31993#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:31:26,933 INFO L273 TraceCheckUtils]: 4: Hoare triple {32026#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {31993#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:31:26,935 INFO L273 TraceCheckUtils]: 3: Hoare triple {32030#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {32026#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2019-02-14 16:31:26,936 INFO L273 TraceCheckUtils]: 2: Hoare triple {32034#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {32030#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2019-02-14 16:31:26,938 INFO L273 TraceCheckUtils]: 1: Hoare triple {32038#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {32034#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2019-02-14 16:31:26,941 INFO L273 TraceCheckUtils]: 0: Hoare triple {31987#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {32038#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2019-02-14 16:31:26,941 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 3 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:31:26,965 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:31:26,965 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 14 [2019-02-14 16:31:26,965 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:31:26,965 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2019-02-14 16:31:26,965 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:31:26,965 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-02-14 16:31:26,996 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:31:26,996 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-02-14 16:31:26,996 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-02-14 16:31:26,996 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=93, Invalid=147, Unknown=0, NotChecked=0, Total=240 [2019-02-14 16:31:26,996 INFO L87 Difference]: Start difference. First operand 134 states and 703 transitions. Second operand 12 states. [2019-02-14 16:31:36,086 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:31:36,086 INFO L93 Difference]: Finished difference Result 189 states and 804 transitions. [2019-02-14 16:31:36,086 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2019-02-14 16:31:36,086 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2019-02-14 16:31:36,086 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:31:36,086 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-14 16:31:36,087 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 85 transitions. [2019-02-14 16:31:36,087 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-14 16:31:36,087 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 85 transitions. [2019-02-14 16:31:36,087 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 85 transitions. [2019-02-14 16:31:36,238 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 85 edges. 85 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:31:36,243 INFO L225 Difference]: With dead ends: 189 [2019-02-14 16:31:36,243 INFO L226 Difference]: Without dead ends: 188 [2019-02-14 16:31:36,243 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 89 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=138, Invalid=242, Unknown=0, NotChecked=0, Total=380 [2019-02-14 16:31:36,243 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 188 states. [2019-02-14 16:31:42,641 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 188 to 133. [2019-02-14 16:31:42,641 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:31:42,641 INFO L82 GeneralOperation]: Start isEquivalent. First operand 188 states. Second operand 133 states. [2019-02-14 16:31:42,641 INFO L74 IsIncluded]: Start isIncluded. First operand 188 states. Second operand 133 states. [2019-02-14 16:31:42,641 INFO L87 Difference]: Start difference. First operand 188 states. Second operand 133 states. [2019-02-14 16:31:42,646 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:31:42,647 INFO L93 Difference]: Finished difference Result 188 states and 802 transitions. [2019-02-14 16:31:42,647 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 802 transitions. [2019-02-14 16:31:42,647 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:31:42,647 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:31:42,647 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand 188 states. [2019-02-14 16:31:42,647 INFO L87 Difference]: Start difference. First operand 133 states. Second operand 188 states. [2019-02-14 16:31:42,652 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:31:42,652 INFO L93 Difference]: Finished difference Result 188 states and 802 transitions. [2019-02-14 16:31:42,652 INFO L276 IsEmpty]: Start isEmpty. Operand 188 states and 802 transitions. [2019-02-14 16:31:42,652 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:31:42,652 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:31:42,652 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:31:42,652 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:31:42,652 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 133 states. [2019-02-14 16:31:42,660 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 133 states to 133 states and 697 transitions. [2019-02-14 16:31:42,660 INFO L78 Accepts]: Start accepts. Automaton has 133 states and 697 transitions. Word has length 7 [2019-02-14 16:31:42,660 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:31:42,660 INFO L480 AbstractCegarLoop]: Abstraction has 133 states and 697 transitions. [2019-02-14 16:31:42,660 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-02-14 16:31:42,660 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 697 transitions. [2019-02-14 16:31:42,661 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-14 16:31:42,661 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:31:42,661 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-14 16:31:42,661 INFO L423 AbstractCegarLoop]: === Iteration 68 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:31:42,661 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:31:42,661 INFO L82 PathProgramCache]: Analyzing trace with hash -2018168854, now seen corresponding path program 1 times [2019-02-14 16:31:42,661 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:31:42,662 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:31:42,662 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:31:42,662 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:31:42,662 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:31:42,665 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:31:43,002 INFO L273 TraceCheckUtils]: 0: Hoare triple {32984#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {32986#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2019-02-14 16:31:43,004 INFO L273 TraceCheckUtils]: 1: Hoare triple {32986#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {32987#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:31:43,005 INFO L273 TraceCheckUtils]: 2: Hoare triple {32987#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {32988#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:31:43,006 INFO L273 TraceCheckUtils]: 3: Hoare triple {32988#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {32988#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:31:43,006 INFO L273 TraceCheckUtils]: 4: Hoare triple {32988#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {32989#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:31:43,007 INFO L273 TraceCheckUtils]: 5: Hoare triple {32989#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {32989#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:31:43,008 INFO L273 TraceCheckUtils]: 6: Hoare triple {32989#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {32985#false} is VALID [2019-02-14 16:31:43,008 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-14 16:31:43,008 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:31:43,008 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:31:43,009 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2019-02-14 16:31:43,009 INFO L207 CegarAbsIntRunner]: [0], [6], [14], [18], [20], [24], [25] [2019-02-14 16:31:43,011 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:31:43,011 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:31:43,035 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:31:43,035 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 4 fixpoints after 4 different actions. Largest state had 0 variables. [2019-02-14 16:31:43,035 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:31:43,036 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:31:43,036 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:31:43,036 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 66 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 66 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:31:43,044 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:31:43,044 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:31:43,048 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:31:43,054 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:31:43,054 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:31:43,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 18 treesize of output 21 [2019-02-14 16:31:43,095 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:43,096 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 [2019-02-14 16:31:43,110 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:43,112 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:43,112 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 [2019-02-14 16:31:43,131 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:43,132 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:43,133 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:43,134 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 [2019-02-14 16:31:43,158 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:43,160 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:43,161 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:43,162 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:43,163 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 [2019-02-14 16:31:43,169 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:31:43,202 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:31:43,226 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:31:43,241 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:31:43,253 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:31:43,274 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:31:43,275 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 1 variables, input treesize:31, output treesize:38 [2019-02-14 16:31:43,281 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:31:43,282 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_403|]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_403| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:31:43,282 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:31:43,360 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:43,361 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:43,363 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:43,364 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:43,365 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:43,366 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:43,367 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:43,369 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:43,370 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:43,371 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:43,372 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:43,373 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2019-02-14 16:31:43,380 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:31:43,427 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. [2019-02-14 16:31:43,428 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:48, output treesize:38 [2019-02-14 16:31:44,256 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:31:44,256 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_404|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_404| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_404| ULTIMATE.start_main_p1)) (= .cse0 0) (= (store |v_#memory_int_404| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_404| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_404| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_404| ULTIMATE.start_main_p2)))) [2019-02-14 16:31:44,256 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:31:44,336 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,338 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,339 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,340 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,342 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,343 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,344 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,346 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,347 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,348 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,349 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,351 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,352 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,353 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 80 [2019-02-14 16:31:44,359 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:31:44,409 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:31:44,410 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:50, output treesize:40 [2019-02-14 16:31:44,430 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:31:44,430 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_405|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_405| ULTIMATE.start_main_p5))) (and (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_405| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_405| ULTIMATE.start_main_p2) 0) (= (+ (select |v_#memory_int_405| ULTIMATE.start_main_p4) 1) 0) (= |#memory_int| (store |v_#memory_int_405| ULTIMATE.start_main_p5 (+ .cse0 1))) (= (select |v_#memory_int_405| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:31:44,430 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:31:44,510 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,511 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,513 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,514 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,515 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,517 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,518 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,519 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,521 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,522 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,523 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,524 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,525 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,527 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,527 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:31:44,528 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 [2019-02-14 16:31:44,535 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:31:44,596 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:31:44,596 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-14 16:31:44,614 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:31:44,614 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_406|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_406| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_406| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_406| ULTIMATE.start_main_p5)) (= (+ (select |v_#memory_int_406| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= .cse0 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store |v_#memory_int_406| ULTIMATE.start_main_p1 (+ .cse0 1))) (= (select |v_#memory_int_406| ULTIMATE.start_main_p3) 0))) [2019-02-14 16:31:44,614 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:31:44,694 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,696 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,697 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,698 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,699 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,701 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,702 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,703 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,704 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,705 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,707 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,708 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,709 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,710 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:31:44,710 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:31:44,711 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 [2019-02-14 16:31:44,717 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:31:44,772 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:31:44,772 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-14 16:31:44,975 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:31:44,976 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_407|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_407| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_407| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_407| ULTIMATE.start_main_p5) 1) (= (+ (select |v_#memory_int_407| ULTIMATE.start_main_p4) 1) 0) (= (select |v_#memory_int_407| ULTIMATE.start_main_p1) 1) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store |v_#memory_int_407| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:31:44,976 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:31:45,051 INFO L273 TraceCheckUtils]: 0: Hoare triple {32984#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {32993#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:31:45,053 INFO L273 TraceCheckUtils]: 1: Hoare triple {32993#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {32997#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:31:45,056 INFO L273 TraceCheckUtils]: 2: Hoare triple {32997#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {33001#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:31:45,060 INFO L273 TraceCheckUtils]: 3: Hoare triple {33001#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {33005#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:31:45,063 INFO L273 TraceCheckUtils]: 4: Hoare triple {33005#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {33009#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:31:45,064 INFO L273 TraceCheckUtils]: 5: Hoare triple {33009#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume #memory_int[main_p1] >= 0; {33009#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:31:45,065 INFO L273 TraceCheckUtils]: 6: Hoare triple {33009#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} assume !(#memory_int[main_p2] <= 0); {32985#false} is VALID [2019-02-14 16:31:45,065 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:31:45,065 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:31:45,270 INFO L273 TraceCheckUtils]: 6: Hoare triple {33016#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {32985#false} is VALID [2019-02-14 16:31:45,270 INFO L273 TraceCheckUtils]: 5: Hoare triple {33016#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {33016#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:31:45,272 INFO L273 TraceCheckUtils]: 4: Hoare triple {33023#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {33016#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:31:45,274 INFO L273 TraceCheckUtils]: 3: Hoare triple {33027#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {33023#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:31:45,276 INFO L273 TraceCheckUtils]: 2: Hoare triple {33031#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {33027#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:31:45,278 INFO L273 TraceCheckUtils]: 1: Hoare triple {33035#(<= (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {33031#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:31:45,280 INFO L273 TraceCheckUtils]: 0: Hoare triple {32984#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {33035#(<= (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:31:45,280 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 1 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:31:45,299 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:31:45,299 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 5, 5] total 14 [2019-02-14 16:31:45,299 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:31:45,299 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 7 [2019-02-14 16:31:45,299 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:31:45,299 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-02-14 16:31:45,331 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:31:45,331 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-02-14 16:31:45,331 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-02-14 16:31:45,332 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=83, Invalid=157, Unknown=0, NotChecked=0, Total=240 [2019-02-14 16:31:45,332 INFO L87 Difference]: Start difference. First operand 133 states and 697 transitions. Second operand 11 states. [2019-02-14 16:31:53,802 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:31:53,802 INFO L93 Difference]: Finished difference Result 169 states and 746 transitions. [2019-02-14 16:31:53,802 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-02-14 16:31:53,802 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 7 [2019-02-14 16:31:53,802 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:31:53,802 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-02-14 16:31:53,803 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 72 transitions. [2019-02-14 16:31:53,803 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-02-14 16:31:53,803 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 72 transitions. [2019-02-14 16:31:53,803 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 72 transitions. [2019-02-14 16:31:53,929 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:31:53,933 INFO L225 Difference]: With dead ends: 169 [2019-02-14 16:31:53,933 INFO L226 Difference]: Without dead ends: 168 [2019-02-14 16:31:53,933 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 90 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=131, Invalid=249, Unknown=0, NotChecked=0, Total=380 [2019-02-14 16:31:53,934 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 168 states. [2019-02-14 16:32:00,604 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 168 to 132. [2019-02-14 16:32:00,604 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:32:00,604 INFO L82 GeneralOperation]: Start isEquivalent. First operand 168 states. Second operand 132 states. [2019-02-14 16:32:00,604 INFO L74 IsIncluded]: Start isIncluded. First operand 168 states. Second operand 132 states. [2019-02-14 16:32:00,605 INFO L87 Difference]: Start difference. First operand 168 states. Second operand 132 states. [2019-02-14 16:32:00,609 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:32:00,609 INFO L93 Difference]: Finished difference Result 168 states and 743 transitions. [2019-02-14 16:32:00,609 INFO L276 IsEmpty]: Start isEmpty. Operand 168 states and 743 transitions. [2019-02-14 16:32:00,610 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:32:00,610 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:32:00,610 INFO L74 IsIncluded]: Start isIncluded. First operand 132 states. Second operand 168 states. [2019-02-14 16:32:00,610 INFO L87 Difference]: Start difference. First operand 132 states. Second operand 168 states. [2019-02-14 16:32:00,615 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:32:00,615 INFO L93 Difference]: Finished difference Result 168 states and 743 transitions. [2019-02-14 16:32:00,615 INFO L276 IsEmpty]: Start isEmpty. Operand 168 states and 743 transitions. [2019-02-14 16:32:00,615 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:32:00,615 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:32:00,615 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:32:00,615 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:32:00,615 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 132 states. [2019-02-14 16:32:00,619 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 132 states to 132 states and 691 transitions. [2019-02-14 16:32:00,619 INFO L78 Accepts]: Start accepts. Automaton has 132 states and 691 transitions. Word has length 7 [2019-02-14 16:32:00,619 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:32:00,620 INFO L480 AbstractCegarLoop]: Abstraction has 132 states and 691 transitions. [2019-02-14 16:32:00,620 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-02-14 16:32:00,620 INFO L276 IsEmpty]: Start isEmpty. Operand 132 states and 691 transitions. [2019-02-14 16:32:00,620 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-14 16:32:00,620 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:32:00,620 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-14 16:32:00,621 INFO L423 AbstractCegarLoop]: === Iteration 69 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:32:00,621 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:32:00,621 INFO L82 PathProgramCache]: Analyzing trace with hash -2017620956, now seen corresponding path program 1 times [2019-02-14 16:32:00,621 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:32:00,622 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:32:00,622 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:32:00,622 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:32:00,622 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:32:00,624 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:32:00,784 INFO L273 TraceCheckUtils]: 0: Hoare triple {33911#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {33913#(and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-14 16:32:00,785 INFO L273 TraceCheckUtils]: 1: Hoare triple {33913#(and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {33914#(and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p4) 1) 0))} is VALID [2019-02-14 16:32:00,785 INFO L273 TraceCheckUtils]: 2: Hoare triple {33914#(and (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p4)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p4) 1) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {33915#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} is VALID [2019-02-14 16:32:00,786 INFO L273 TraceCheckUtils]: 3: Hoare triple {33915#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} assume #memory_int[main_p1] >= 0; {33915#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} is VALID [2019-02-14 16:32:00,786 INFO L273 TraceCheckUtils]: 4: Hoare triple {33915#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} assume #memory_int[main_p2] <= 0; {33915#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} is VALID [2019-02-14 16:32:00,787 INFO L273 TraceCheckUtils]: 5: Hoare triple {33915#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} assume #memory_int[main_p3] >= 0; {33915#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} is VALID [2019-02-14 16:32:00,788 INFO L273 TraceCheckUtils]: 6: Hoare triple {33915#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} assume !(#memory_int[main_p4] <= 0); {33912#false} is VALID [2019-02-14 16:32:00,788 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:32:00,788 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:32:00,788 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:32:00,788 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2019-02-14 16:32:00,789 INFO L207 CegarAbsIntRunner]: [0], [18], [20], [24], [26], [28], [29] [2019-02-14 16:32:00,789 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:32:00,790 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:32:00,798 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:32:00,799 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-14 16:32:00,799 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:32:00,805 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:32:00,805 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:32:00,805 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 67 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 67 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:32:00,813 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:32:00,813 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:32:00,818 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:32:00,820 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:32:00,821 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:32:00,839 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 [2019-02-14 16:32:00,847 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 [2019-02-14 16:32:00,859 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 25 [2019-02-14 16:32:00,877 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 27 [2019-02-14 16:32:00,891 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:00,897 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 1 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 30 [2019-02-14 16:32:00,902 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:32:00,916 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:32:00,928 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:32:00,939 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:32:00,952 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:32:00,966 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:32:00,967 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:22, output treesize:29 [2019-02-14 16:32:00,972 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:32:00,972 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_412|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= (store (store (store (store (store |v_#memory_int_412| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-14 16:32:00,972 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:32:01,017 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:01,018 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:01,019 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 2 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 15 [2019-02-14 16:32:01,021 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:32:01,029 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:32:01,030 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:24, output treesize:14 [2019-02-14 16:32:01,045 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:32:01,045 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_413|]. (let ((.cse0 (select |v_#memory_int_413| ULTIMATE.start_main_p4))) (and (= 0 .cse0) (= (select |v_#memory_int_413| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= |#memory_int| (store |v_#memory_int_413| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))))) [2019-02-14 16:32:01,045 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ []. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-14 16:32:01,077 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:01,079 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:01,080 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:01,081 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:01,081 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 4 disjoint index pairs (out of 1 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-14 16:32:01,084 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:32:01,095 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. [2019-02-14 16:32:01,095 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:26, output treesize:16 [2019-02-14 16:32:03,150 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:32:03,151 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_414|, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_414| ULTIMATE.start_main_p5))) (and (= (store |v_#memory_int_414| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= (+ (select |v_#memory_int_414| ULTIMATE.start_main_p4) 1) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) [2019-02-14 16:32:03,151 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-14 16:32:03,205 INFO L273 TraceCheckUtils]: 0: Hoare triple {33911#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {33919#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-14 16:32:03,206 INFO L273 TraceCheckUtils]: 1: Hoare triple {33919#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {33923#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))} is VALID [2019-02-14 16:32:03,207 INFO L273 TraceCheckUtils]: 2: Hoare triple {33923#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {33927#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))} is VALID [2019-02-14 16:32:03,208 INFO L273 TraceCheckUtils]: 3: Hoare triple {33927#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))} assume #memory_int[main_p1] >= 0; {33927#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))} is VALID [2019-02-14 16:32:03,209 INFO L273 TraceCheckUtils]: 4: Hoare triple {33927#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))} assume #memory_int[main_p2] <= 0; {33927#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))} is VALID [2019-02-14 16:32:03,210 INFO L273 TraceCheckUtils]: 5: Hoare triple {33927#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))} assume #memory_int[main_p3] >= 0; {33927#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))} is VALID [2019-02-14 16:32:03,210 INFO L273 TraceCheckUtils]: 6: Hoare triple {33927#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0))} assume !(#memory_int[main_p4] <= 0); {33912#false} is VALID [2019-02-14 16:32:03,211 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:32:03,211 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:32:03,261 INFO L273 TraceCheckUtils]: 6: Hoare triple {33940#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume !(#memory_int[main_p4] <= 0); {33912#false} is VALID [2019-02-14 16:32:03,262 INFO L273 TraceCheckUtils]: 5: Hoare triple {33940#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p3] >= 0; {33940#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2019-02-14 16:32:03,262 INFO L273 TraceCheckUtils]: 4: Hoare triple {33940#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p2] <= 0; {33940#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2019-02-14 16:32:03,263 INFO L273 TraceCheckUtils]: 3: Hoare triple {33940#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p1] >= 0; {33940#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2019-02-14 16:32:03,264 INFO L273 TraceCheckUtils]: 2: Hoare triple {33953#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p4) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {33940#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2019-02-14 16:32:03,265 INFO L273 TraceCheckUtils]: 1: Hoare triple {33957#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p4) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {33953#(<= (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p4) 0)} is VALID [2019-02-14 16:32:03,267 INFO L273 TraceCheckUtils]: 0: Hoare triple {33911#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {33957#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p4) 0)} is VALID [2019-02-14 16:32:03,268 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:32:03,288 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:32:03,288 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-14 16:32:03,288 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:32:03,288 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 7 [2019-02-14 16:32:03,289 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:32:03,289 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-14 16:32:03,306 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:32:03,306 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-14 16:32:03,306 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-14 16:32:03,306 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=65, Unknown=0, NotChecked=0, Total=110 [2019-02-14 16:32:03,307 INFO L87 Difference]: Start difference. First operand 132 states and 691 transitions. Second operand 8 states. [2019-02-14 16:32:10,381 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:32:10,381 INFO L93 Difference]: Finished difference Result 159 states and 727 transitions. [2019-02-14 16:32:10,381 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-14 16:32:10,381 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 7 [2019-02-14 16:32:10,381 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:32:10,382 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:32:10,382 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2019-02-14 16:32:10,382 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:32:10,382 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2019-02-14 16:32:10,382 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 59 transitions. [2019-02-14 16:32:10,447 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:32:10,451 INFO L225 Difference]: With dead ends: 159 [2019-02-14 16:32:10,451 INFO L226 Difference]: Without dead ends: 158 [2019-02-14 16:32:10,451 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 6 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=53, Invalid=79, Unknown=0, NotChecked=0, Total=132 [2019-02-14 16:32:10,451 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 158 states. [2019-02-14 16:32:16,559 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 158 to 136. [2019-02-14 16:32:16,559 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:32:16,559 INFO L82 GeneralOperation]: Start isEquivalent. First operand 158 states. Second operand 136 states. [2019-02-14 16:32:16,559 INFO L74 IsIncluded]: Start isIncluded. First operand 158 states. Second operand 136 states. [2019-02-14 16:32:16,559 INFO L87 Difference]: Start difference. First operand 158 states. Second operand 136 states. [2019-02-14 16:32:16,563 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:32:16,563 INFO L93 Difference]: Finished difference Result 158 states and 724 transitions. [2019-02-14 16:32:16,563 INFO L276 IsEmpty]: Start isEmpty. Operand 158 states and 724 transitions. [2019-02-14 16:32:16,564 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:32:16,564 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:32:16,564 INFO L74 IsIncluded]: Start isIncluded. First operand 136 states. Second operand 158 states. [2019-02-14 16:32:16,564 INFO L87 Difference]: Start difference. First operand 136 states. Second operand 158 states. [2019-02-14 16:32:16,567 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:32:16,567 INFO L93 Difference]: Finished difference Result 158 states and 724 transitions. [2019-02-14 16:32:16,567 INFO L276 IsEmpty]: Start isEmpty. Operand 158 states and 724 transitions. [2019-02-14 16:32:16,567 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:32:16,567 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:32:16,568 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:32:16,568 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:32:16,568 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 136 states. [2019-02-14 16:32:16,570 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 136 states to 136 states and 706 transitions. [2019-02-14 16:32:16,571 INFO L78 Accepts]: Start accepts. Automaton has 136 states and 706 transitions. Word has length 7 [2019-02-14 16:32:16,571 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:32:16,571 INFO L480 AbstractCegarLoop]: Abstraction has 136 states and 706 transitions. [2019-02-14 16:32:16,571 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-14 16:32:16,571 INFO L276 IsEmpty]: Start isEmpty. Operand 136 states and 706 transitions. [2019-02-14 16:32:16,571 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-14 16:32:16,571 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:32:16,571 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-14 16:32:16,571 INFO L423 AbstractCegarLoop]: === Iteration 70 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:32:16,571 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:32:16,572 INFO L82 PathProgramCache]: Analyzing trace with hash -2018050250, now seen corresponding path program 1 times [2019-02-14 16:32:16,572 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:32:16,572 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:32:16,572 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:32:16,572 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:32:16,572 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:32:16,575 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:32:16,899 INFO L273 TraceCheckUtils]: 0: Hoare triple {34801#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {34803#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:32:16,900 INFO L273 TraceCheckUtils]: 1: Hoare triple {34803#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {34804#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:32:16,901 INFO L273 TraceCheckUtils]: 2: Hoare triple {34804#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {34805#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:32:16,902 INFO L273 TraceCheckUtils]: 3: Hoare triple {34805#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {34806#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:32:16,903 INFO L273 TraceCheckUtils]: 4: Hoare triple {34806#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {34807#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-14 16:32:16,904 INFO L273 TraceCheckUtils]: 5: Hoare triple {34807#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {34808#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:32:16,905 INFO L273 TraceCheckUtils]: 6: Hoare triple {34808#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {34802#false} is VALID [2019-02-14 16:32:16,905 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:32:16,905 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:32:16,905 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:32:16,906 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2019-02-14 16:32:16,906 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [14], [18], [20], [23] [2019-02-14 16:32:16,907 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:32:16,907 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:32:16,920 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:32:16,920 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 5 fixpoints after 5 different actions. Largest state had 0 variables. [2019-02-14 16:32:16,921 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:32:16,921 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:32:16,921 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:32:16,921 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 68 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 68 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:32:16,930 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:32:16,931 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:32:16,936 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:32:16,942 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:32:16,942 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:32:16,965 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 [2019-02-14 16:32:16,975 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:16,976 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2019-02-14 16:32:16,992 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:16,993 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:16,993 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 [2019-02-14 16:32:17,011 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,013 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,014 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,015 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 [2019-02-14 16:32:17,038 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,039 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,039 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,040 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,041 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 [2019-02-14 16:32:17,047 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:32:17,079 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:32:17,096 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:32:17,111 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:32:17,124 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:32:17,145 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:32:17,145 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 1 variables, input treesize:31, output treesize:38 [2019-02-14 16:32:17,151 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:32:17,152 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_417|]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_417| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:32:17,152 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:32:17,221 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,222 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,223 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,225 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,226 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,227 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,228 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,229 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,231 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,232 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,233 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,234 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2019-02-14 16:32:17,240 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:32:17,286 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. [2019-02-14 16:32:17,287 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:48, output treesize:38 [2019-02-14 16:32:17,332 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:32:17,332 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_418|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_418| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_418| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_418| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_418| ULTIMATE.start_main_p3) 0) (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_418| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_418| ULTIMATE.start_main_p2) 0))) [2019-02-14 16:32:17,332 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:32:17,409 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,410 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,412 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,413 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,414 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,415 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,416 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,417 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,419 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,420 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,421 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,422 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,423 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,424 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 80 [2019-02-14 16:32:17,430 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:32:17,474 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:32:17,475 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:50, output treesize:40 [2019-02-14 16:32:17,485 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:32:17,485 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_419|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_419| ULTIMATE.start_main_p5))) (and (= (store |v_#memory_int_419| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_419| ULTIMATE.start_main_p2) 0) (= 0 .cse0) (= (+ (select |v_#memory_int_419| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_419| ULTIMATE.start_main_p1) 0) (= (select |v_#memory_int_419| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:32:17,485 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:32:17,556 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,558 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,559 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,560 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,561 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,562 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,564 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,565 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,566 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,567 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,568 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,569 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,570 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:32:17,571 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,572 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 97 [2019-02-14 16:32:17,579 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:32:17,635 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:32:17,635 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:38 [2019-02-14 16:32:17,651 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:32:17,652 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_420|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_420| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_420| ULTIMATE.start_main_p1) 0) (= (store |v_#memory_int_420| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (= (select |v_#memory_int_420| ULTIMATE.start_main_p3) 0) (= 0 (+ (select |v_#memory_int_420| ULTIMATE.start_main_p4) 1)) (= (select |v_#memory_int_420| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:32:17,652 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:32:17,732 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,733 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,735 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,736 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,737 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,739 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,740 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,742 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,743 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,744 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,746 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,747 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,748 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,749 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,750 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:32:17,751 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 100 [2019-02-14 16:32:17,757 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:32:17,819 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:32:17,819 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:52, output treesize:42 [2019-02-14 16:32:17,887 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:32:17,887 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_421|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_421| ULTIMATE.start_main_p3))) (and (= (+ (select |v_#memory_int_421| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_421| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_421| ULTIMATE.start_main_p5) 1) (= 0 (+ (select |v_#memory_int_421| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_421| ULTIMATE.start_main_p3 (+ .cse0 1))))) [2019-02-14 16:32:17,888 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-14 16:32:17,985 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,986 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,988 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,989 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,990 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,992 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,993 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,994 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,996 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,997 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,998 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:17,999 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:18,001 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:18,002 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:18,002 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:32:18,003 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 96 [2019-02-14 16:32:18,011 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:32:18,068 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:32:18,068 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:52, output treesize:42 [2019-02-14 16:32:18,087 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:32:18,087 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_422|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_422| ULTIMATE.start_main_p1))) (and (= 0 (+ (select |v_#memory_int_422| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_422| ULTIMATE.start_main_p5)) (= 1 (select |v_#memory_int_422| ULTIMATE.start_main_p3)) (= |#memory_int| (store |v_#memory_int_422| ULTIMATE.start_main_p1 (+ .cse0 1))) (= 0 (+ (select |v_#memory_int_422| ULTIMATE.start_main_p2) 1)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:32:18,088 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-14 16:32:18,129 INFO L273 TraceCheckUtils]: 0: Hoare triple {34801#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {34812#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:32:18,131 INFO L273 TraceCheckUtils]: 1: Hoare triple {34812#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {34816#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:32:18,133 INFO L273 TraceCheckUtils]: 2: Hoare triple {34816#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {34820#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:32:18,136 INFO L273 TraceCheckUtils]: 3: Hoare triple {34820#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {34824#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:32:18,141 INFO L273 TraceCheckUtils]: 4: Hoare triple {34824#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {34828#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-02-14 16:32:18,149 INFO L273 TraceCheckUtils]: 5: Hoare triple {34828#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {34832#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} is VALID [2019-02-14 16:32:18,149 INFO L273 TraceCheckUtils]: 6: Hoare triple {34832#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))))} assume !(#memory_int[main_p1] >= 0); {34802#false} is VALID [2019-02-14 16:32:18,150 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:32:18,150 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:32:18,271 INFO L273 TraceCheckUtils]: 6: Hoare triple {34808#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {34802#false} is VALID [2019-02-14 16:32:18,272 INFO L273 TraceCheckUtils]: 5: Hoare triple {34839#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {34808#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:32:18,273 INFO L273 TraceCheckUtils]: 4: Hoare triple {34843#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {34839#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1))} is VALID [2019-02-14 16:32:18,275 INFO L273 TraceCheckUtils]: 3: Hoare triple {34847#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {34843#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} is VALID [2019-02-14 16:32:18,277 INFO L273 TraceCheckUtils]: 2: Hoare triple {34851#(<= 0 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {34847#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} is VALID [2019-02-14 16:32:18,280 INFO L273 TraceCheckUtils]: 1: Hoare triple {34855#(<= 0 (+ (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {34851#(<= 0 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} is VALID [2019-02-14 16:32:18,282 INFO L273 TraceCheckUtils]: 0: Hoare triple {34801#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {34855#(<= 0 (+ (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1))} is VALID [2019-02-14 16:32:18,282 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 6 proven. 9 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:32:18,301 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:32:18,301 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 17 [2019-02-14 16:32:18,301 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:32:18,302 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 7 [2019-02-14 16:32:18,302 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:32:18,302 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2019-02-14 16:32:18,330 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:32:18,331 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2019-02-14 16:32:18,331 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2019-02-14 16:32:18,331 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=130, Invalid=212, Unknown=0, NotChecked=0, Total=342 [2019-02-14 16:32:18,331 INFO L87 Difference]: Start difference. First operand 136 states and 706 transitions. Second operand 14 states. [2019-02-14 16:32:28,362 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:32:28,362 INFO L93 Difference]: Finished difference Result 199 states and 872 transitions. [2019-02-14 16:32:28,362 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2019-02-14 16:32:28,362 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 7 [2019-02-14 16:32:28,362 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:32:28,362 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2019-02-14 16:32:28,363 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 92 transitions. [2019-02-14 16:32:28,363 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2019-02-14 16:32:28,363 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 92 transitions. [2019-02-14 16:32:28,363 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 92 transitions. [2019-02-14 16:32:28,643 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 92 edges. 92 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:32:28,647 INFO L225 Difference]: With dead ends: 199 [2019-02-14 16:32:28,647 INFO L226 Difference]: Without dead ends: 198 [2019-02-14 16:32:28,648 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 133 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=186, Invalid=320, Unknown=0, NotChecked=0, Total=506 [2019-02-14 16:32:28,648 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 198 states. [2019-02-14 16:32:34,698 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 198 to 134. [2019-02-14 16:32:34,699 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:32:34,699 INFO L82 GeneralOperation]: Start isEquivalent. First operand 198 states. Second operand 134 states. [2019-02-14 16:32:34,699 INFO L74 IsIncluded]: Start isIncluded. First operand 198 states. Second operand 134 states. [2019-02-14 16:32:34,699 INFO L87 Difference]: Start difference. First operand 198 states. Second operand 134 states. [2019-02-14 16:32:34,704 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:32:34,704 INFO L93 Difference]: Finished difference Result 198 states and 868 transitions. [2019-02-14 16:32:34,704 INFO L276 IsEmpty]: Start isEmpty. Operand 198 states and 868 transitions. [2019-02-14 16:32:34,704 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:32:34,704 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:32:34,704 INFO L74 IsIncluded]: Start isIncluded. First operand 134 states. Second operand 198 states. [2019-02-14 16:32:34,704 INFO L87 Difference]: Start difference. First operand 134 states. Second operand 198 states. [2019-02-14 16:32:34,708 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:32:34,708 INFO L93 Difference]: Finished difference Result 198 states and 868 transitions. [2019-02-14 16:32:34,708 INFO L276 IsEmpty]: Start isEmpty. Operand 198 states and 868 transitions. [2019-02-14 16:32:34,709 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:32:34,709 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:32:34,709 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:32:34,709 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:32:34,709 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 134 states. [2019-02-14 16:32:34,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 134 states to 134 states and 693 transitions. [2019-02-14 16:32:34,712 INFO L78 Accepts]: Start accepts. Automaton has 134 states and 693 transitions. Word has length 7 [2019-02-14 16:32:34,712 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:32:34,712 INFO L480 AbstractCegarLoop]: Abstraction has 134 states and 693 transitions. [2019-02-14 16:32:34,712 INFO L481 AbstractCegarLoop]: Interpolant automaton has 14 states. [2019-02-14 16:32:34,712 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 693 transitions. [2019-02-14 16:32:34,712 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-14 16:32:34,712 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:32:34,712 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-14 16:32:34,713 INFO L423 AbstractCegarLoop]: === Iteration 71 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:32:34,713 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:32:34,713 INFO L82 PathProgramCache]: Analyzing trace with hash -2018049690, now seen corresponding path program 1 times [2019-02-14 16:32:34,713 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:32:34,713 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:32:34,713 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:32:34,713 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:32:34,713 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:32:34,715 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:32:35,000 INFO L273 TraceCheckUtils]: 0: Hoare triple {35842#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {35844#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2019-02-14 16:32:35,001 INFO L273 TraceCheckUtils]: 1: Hoare triple {35844#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {35845#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:32:35,002 INFO L273 TraceCheckUtils]: 2: Hoare triple {35845#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {35846#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2019-02-14 16:32:35,003 INFO L273 TraceCheckUtils]: 3: Hoare triple {35846#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {35847#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:32:35,004 INFO L273 TraceCheckUtils]: 4: Hoare triple {35847#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {35848#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2019-02-14 16:32:35,005 INFO L273 TraceCheckUtils]: 5: Hoare triple {35848#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume #memory_int[main_p1] >= 0; {35848#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2019-02-14 16:32:35,005 INFO L273 TraceCheckUtils]: 6: Hoare triple {35848#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {35843#false} is VALID [2019-02-14 16:32:35,006 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:32:35,006 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:32:35,006 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:32:35,007 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2019-02-14 16:32:35,007 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [18], [20], [24], [25] [2019-02-14 16:32:35,009 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:32:35,009 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:32:35,018 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:32:35,019 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 4 fixpoints after 4 different actions. Largest state had 0 variables. [2019-02-14 16:32:35,019 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:32:35,019 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:32:35,019 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:32:35,019 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 69 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 69 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:32:35,029 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:32:35,029 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:32:35,033 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:32:35,037 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:32:35,037 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:32:35,066 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 [2019-02-14 16:32:35,073 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 [2019-02-14 16:32:35,087 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,088 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-14 16:32:35,104 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,106 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,106 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-14 16:32:35,125 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,130 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,131 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,132 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 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 [2019-02-14 16:32:35,148 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:32:35,169 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:32:35,182 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:32:35,195 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:32:35,207 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:32:35,226 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. [2019-02-14 16:32:35,227 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:28, output treesize:35 [2019-02-14 16:32:35,233 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:32:35,233 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_428|, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_428| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:32:35,233 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:32:35,307 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,308 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,310 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,311 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,312 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,313 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,315 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,315 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 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 [2019-02-14 16:32:35,320 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:32:35,350 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. [2019-02-14 16:32:35,351 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:40, output treesize:30 [2019-02-14 16:32:35,441 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:32:35,442 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_429|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_429| ULTIMATE.start_main_p4))) (and (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_429| ULTIMATE.start_main_p3)) (= (select |v_#memory_int_429| ULTIMATE.start_main_p5) 0) (= 0 (select |v_#memory_int_429| ULTIMATE.start_main_p2)) (= |#memory_int| (store |v_#memory_int_429| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:32:35,442 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:32:35,501 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,503 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,504 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,505 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,506 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,507 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,509 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,510 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,511 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,511 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 [2019-02-14 16:32:35,517 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:32:35,556 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:32:35,557 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:42, output treesize:32 [2019-02-14 16:32:35,566 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:32:35,566 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_430|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_430| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_430| ULTIMATE.start_main_p4) 1) 0) (= (select |v_#memory_int_430| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_430| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_430| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:32:35,566 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:32:35,630 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,631 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,632 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,633 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,634 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,636 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,637 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,638 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,638 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:32:35,639 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,640 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 33 treesize of output 72 [2019-02-14 16:32:35,644 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:32:35,683 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:32:35,683 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:42, output treesize:30 [2019-02-14 16:32:35,690 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:32:35,690 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_431|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_431| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_431| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= .cse0 0) (= (select |v_#memory_int_431| ULTIMATE.start_main_p3) 0) (= (+ (select |v_#memory_int_431| ULTIMATE.start_main_p4) 1) 0) (= (select |v_#memory_int_431| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:32:35,690 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:32:35,746 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,747 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,748 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,750 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,751 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,752 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,753 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,754 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,755 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,756 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:35,757 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:32:35,757 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 75 [2019-02-14 16:32:35,762 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:32:35,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. [2019-02-14 16:32:35,801 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:44, output treesize:34 [2019-02-14 16:32:35,831 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:32:35,832 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_432|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_432| ULTIMATE.start_main_p3))) (and (= (+ (select |v_#memory_int_432| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_432| ULTIMATE.start_main_p2) 1) 0) (= (select |v_#memory_int_432| ULTIMATE.start_main_p5) 1) (= 0 .cse0) (= (store |v_#memory_int_432| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:32:35,832 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-14 16:32:35,886 INFO L273 TraceCheckUtils]: 0: Hoare triple {35842#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {35852#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-14 16:32:35,888 INFO L273 TraceCheckUtils]: 1: Hoare triple {35852#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {35856#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:32:35,890 INFO L273 TraceCheckUtils]: 2: Hoare triple {35856#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {35860#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:32:35,892 INFO L273 TraceCheckUtils]: 3: Hoare triple {35860#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {35864#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:32:35,895 INFO L273 TraceCheckUtils]: 4: Hoare triple {35864#(and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {35868#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:32:35,896 INFO L273 TraceCheckUtils]: 5: Hoare triple {35868#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {35868#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:32:35,897 INFO L273 TraceCheckUtils]: 6: Hoare triple {35868#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {35843#false} is VALID [2019-02-14 16:32:35,897 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:32:35,898 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:32:36,002 INFO L273 TraceCheckUtils]: 6: Hoare triple {35875#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {35843#false} is VALID [2019-02-14 16:32:36,003 INFO L273 TraceCheckUtils]: 5: Hoare triple {35875#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {35875#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:32:36,004 INFO L273 TraceCheckUtils]: 4: Hoare triple {35882#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {35875#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:32:36,005 INFO L273 TraceCheckUtils]: 3: Hoare triple {35886#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {35882#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:32:36,007 INFO L273 TraceCheckUtils]: 2: Hoare triple {35890#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {35886#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:32:36,009 INFO L273 TraceCheckUtils]: 1: Hoare triple {35894#(<= (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {35890#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:32:36,012 INFO L273 TraceCheckUtils]: 0: Hoare triple {35842#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {35894#(<= (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:32:36,012 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 5 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:32:36,031 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:32:36,031 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2019-02-14 16:32:36,032 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:32:36,032 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2019-02-14 16:32:36,032 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:32:36,032 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-02-14 16:32:36,054 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:32:36,054 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-02-14 16:32:36,054 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-02-14 16:32:36,055 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=101, Invalid=171, Unknown=0, NotChecked=0, Total=272 [2019-02-14 16:32:36,055 INFO L87 Difference]: Start difference. First operand 134 states and 693 transitions. Second operand 12 states. [2019-02-14 16:32:43,964 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:32:43,964 INFO L93 Difference]: Finished difference Result 181 states and 747 transitions. [2019-02-14 16:32:43,964 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-02-14 16:32:43,964 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2019-02-14 16:32:43,964 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:32:43,964 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-14 16:32:43,965 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 83 transitions. [2019-02-14 16:32:43,965 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-14 16:32:43,965 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 83 transitions. [2019-02-14 16:32:43,965 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 83 transitions. [2019-02-14 16:32:44,092 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:32:44,095 INFO L225 Difference]: With dead ends: 181 [2019-02-14 16:32:44,096 INFO L226 Difference]: Without dead ends: 180 [2019-02-14 16:32:44,096 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 100 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=133, Invalid=247, Unknown=0, NotChecked=0, Total=380 [2019-02-14 16:32:44,096 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 180 states. [2019-02-14 16:32:50,074 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 180 to 134. [2019-02-14 16:32:50,075 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:32:50,075 INFO L82 GeneralOperation]: Start isEquivalent. First operand 180 states. Second operand 134 states. [2019-02-14 16:32:50,075 INFO L74 IsIncluded]: Start isIncluded. First operand 180 states. Second operand 134 states. [2019-02-14 16:32:50,075 INFO L87 Difference]: Start difference. First operand 180 states. Second operand 134 states. [2019-02-14 16:32:50,080 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:32:50,080 INFO L93 Difference]: Finished difference Result 180 states and 745 transitions. [2019-02-14 16:32:50,080 INFO L276 IsEmpty]: Start isEmpty. Operand 180 states and 745 transitions. [2019-02-14 16:32:50,080 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:32:50,080 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:32:50,081 INFO L74 IsIncluded]: Start isIncluded. First operand 134 states. Second operand 180 states. [2019-02-14 16:32:50,081 INFO L87 Difference]: Start difference. First operand 134 states. Second operand 180 states. [2019-02-14 16:32:50,084 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:32:50,084 INFO L93 Difference]: Finished difference Result 180 states and 745 transitions. [2019-02-14 16:32:50,084 INFO L276 IsEmpty]: Start isEmpty. Operand 180 states and 745 transitions. [2019-02-14 16:32:50,085 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:32:50,085 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:32:50,085 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:32:50,085 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:32:50,085 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 134 states. [2019-02-14 16:32:50,088 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 134 states to 134 states and 693 transitions. [2019-02-14 16:32:50,088 INFO L78 Accepts]: Start accepts. Automaton has 134 states and 693 transitions. Word has length 7 [2019-02-14 16:32:50,088 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:32:50,088 INFO L480 AbstractCegarLoop]: Abstraction has 134 states and 693 transitions. [2019-02-14 16:32:50,088 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-02-14 16:32:50,088 INFO L276 IsEmpty]: Start isEmpty. Operand 134 states and 693 transitions. [2019-02-14 16:32:50,088 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-14 16:32:50,088 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:32:50,088 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-14 16:32:50,088 INFO L423 AbstractCegarLoop]: === Iteration 72 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:32:50,089 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:32:50,089 INFO L82 PathProgramCache]: Analyzing trace with hash -2017938650, now seen corresponding path program 2 times [2019-02-14 16:32:50,089 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:32:50,089 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:32:50,089 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:32:50,089 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:32:50,090 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:32:50,092 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:32:50,459 INFO L273 TraceCheckUtils]: 0: Hoare triple {36804#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {36806#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:32:50,461 INFO L273 TraceCheckUtils]: 1: Hoare triple {36806#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {36807#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:32:50,462 INFO L273 TraceCheckUtils]: 2: Hoare triple {36807#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {36808#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:32:50,463 INFO L273 TraceCheckUtils]: 3: Hoare triple {36808#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {36809#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:32:50,464 INFO L273 TraceCheckUtils]: 4: Hoare triple {36809#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {36810#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:32:50,465 INFO L273 TraceCheckUtils]: 5: Hoare triple {36810#(and (<= 1 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {36811#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:32:50,465 INFO L273 TraceCheckUtils]: 6: Hoare triple {36811#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {36805#false} is VALID [2019-02-14 16:32:50,466 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:32:50,466 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:32:50,466 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:32:50,466 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2019-02-14 16:32:50,466 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2019-02-14 16:32:50,467 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:32:50,467 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 70 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 70 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:32:50,476 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2019-02-14 16:32:50,476 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2019-02-14 16:32:50,484 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2019-02-14 16:32:50,484 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2019-02-14 16:32:50,494 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:32:50,495 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:32:50,518 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 [2019-02-14 16:32:50,525 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:50,526 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 [2019-02-14 16:32:50,538 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:50,539 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:50,540 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 [2019-02-14 16:32:50,557 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:50,558 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:50,560 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:50,560 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 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 [2019-02-14 16:32:50,584 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:50,585 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:50,586 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:50,587 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:50,588 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 [2019-02-14 16:32:50,594 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:32:50,625 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:32:50,641 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:32:50,656 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:32:50,669 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:32:50,690 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:32:50,691 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 1 variables, input treesize:31, output treesize:38 [2019-02-14 16:32:50,697 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:32:50,698 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_437|]. (and (= |#memory_int| (store (store (store (store (store |v_#memory_int_437| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:32:50,698 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ []. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:32:50,791 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:50,792 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:50,793 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:50,794 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:50,796 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:50,797 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:50,798 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:50,799 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:50,800 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:50,802 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:50,803 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:50,803 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2019-02-14 16:32:50,810 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:32:50,862 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. [2019-02-14 16:32:50,863 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:48, output treesize:38 [2019-02-14 16:32:50,906 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:32:50,906 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_438|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_438| ULTIMATE.start_main_p4))) (and (= 0 (select |v_#memory_int_438| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_438| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_438| ULTIMATE.start_main_p3)) (= (store |v_#memory_int_438| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_438| ULTIMATE.start_main_p1)) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:32:50,906 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:32:50,980 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:50,982 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:50,983 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:50,984 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:50,985 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:50,986 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:50,988 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:50,989 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:50,990 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:50,991 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:50,992 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:50,993 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:50,994 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:50,995 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 80 [2019-02-14 16:32:51,002 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:32:51,050 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:32:51,050 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:50, output treesize:40 [2019-02-14 16:32:51,060 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:32:51,060 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_439|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_439| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_439| ULTIMATE.start_main_p1)) (= (store |v_#memory_int_439| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_439| ULTIMATE.start_main_p3)) (= 0 .cse0) (= (select |v_#memory_int_439| ULTIMATE.start_main_p2) 0) (= (+ (select |v_#memory_int_439| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:32:51,061 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:32:51,139 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,141 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,142 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,143 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,145 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,146 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,147 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,148 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,150 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,151 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,152 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,153 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,155 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,156 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,156 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:32:51,157 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 [2019-02-14 16:32:51,163 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:32:51,220 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:32:51,220 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-14 16:32:51,234 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:32:51,235 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_440|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_440| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |v_#memory_int_440| ULTIMATE.start_main_p4) 1)) (= (select |v_#memory_int_440| ULTIMATE.start_main_p5) 1) (= |#memory_int| (store |v_#memory_int_440| ULTIMATE.start_main_p3 (+ .cse0 1))) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_440| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_440| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:32:51,235 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:32:51,318 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,319 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,320 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,321 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,322 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,324 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,325 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,326 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,327 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,328 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,329 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,330 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,331 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,332 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,333 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:32:51,334 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 [2019-02-14 16:32:51,340 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:32:51,399 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:32:51,400 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-14 16:32:51,412 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:32:51,412 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_441|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_441| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_441| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |v_#memory_int_441| ULTIMATE.start_main_p2)) (= .cse0 0) (= (select |v_#memory_int_441| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_441| ULTIMATE.start_main_p5) 1) (= (store |v_#memory_int_441| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|))) [2019-02-14 16:32:51,412 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:32:51,488 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,489 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,491 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,492 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,493 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,494 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,495 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,497 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,498 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,499 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,500 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,501 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,502 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:32:51,503 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:32:51,503 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 93 [2019-02-14 16:32:51,510 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:32:51,567 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:32:51,567 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2019-02-14 16:32:51,587 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:32:51,587 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_442|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_442| ULTIMATE.start_main_p2))) (and (= 1 (select |v_#memory_int_442| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_442| ULTIMATE.start_main_p1) 1) (= (store |v_#memory_int_442| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (= 1 (select |v_#memory_int_442| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |v_#memory_int_442| ULTIMATE.start_main_p4) 1) 0))) [2019-02-14 16:32:51,587 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:32:51,659 INFO L273 TraceCheckUtils]: 0: Hoare triple {36804#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {36815#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:32:51,661 INFO L273 TraceCheckUtils]: 1: Hoare triple {36815#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {36819#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:32:51,663 INFO L273 TraceCheckUtils]: 2: Hoare triple {36819#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {36823#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:32:51,666 INFO L273 TraceCheckUtils]: 3: Hoare triple {36823#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {36827#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:32:51,670 INFO L273 TraceCheckUtils]: 4: Hoare triple {36827#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {36831#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:32:51,678 INFO L273 TraceCheckUtils]: 5: Hoare triple {36831#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {36835#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-02-14 16:32:51,679 INFO L273 TraceCheckUtils]: 6: Hoare triple {36835#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p2 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} assume !(#memory_int[main_p1] >= 0); {36805#false} is VALID [2019-02-14 16:32:51,679 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 0 proven. 15 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:32:51,680 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:32:51,837 INFO L273 TraceCheckUtils]: 6: Hoare triple {36839#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {36805#false} is VALID [2019-02-14 16:32:51,838 INFO L273 TraceCheckUtils]: 5: Hoare triple {36843#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {36839#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:32:51,839 INFO L273 TraceCheckUtils]: 4: Hoare triple {36847#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {36843#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:32:51,841 INFO L273 TraceCheckUtils]: 3: Hoare triple {36851#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {36847#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:32:51,843 INFO L273 TraceCheckUtils]: 2: Hoare triple {36855#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {36851#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:32:51,846 INFO L273 TraceCheckUtils]: 1: Hoare triple {36859#(<= 0 (select (store (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {36855#(<= 0 (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:32:51,849 INFO L273 TraceCheckUtils]: 0: Hoare triple {36804#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {36859#(<= 0 (select (store (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:32:51,850 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 10 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:32:51,869 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:32:51,870 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 18 [2019-02-14 16:32:51,870 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:32:51,870 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 7 [2019-02-14 16:32:51,870 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:32:51,870 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states. [2019-02-14 16:32:51,900 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:32:51,900 INFO L459 AbstractCegarLoop]: Interpolant automaton has 14 states [2019-02-14 16:32:51,901 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2019-02-14 16:32:51,901 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=141, Invalid=239, Unknown=0, NotChecked=0, Total=380 [2019-02-14 16:32:51,901 INFO L87 Difference]: Start difference. First operand 134 states and 693 transitions. Second operand 14 states. [2019-02-14 16:33:01,356 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:33:01,356 INFO L93 Difference]: Finished difference Result 200 states and 825 transitions. [2019-02-14 16:33:01,356 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2019-02-14 16:33:01,357 INFO L78 Accepts]: Start accepts. Automaton has 14 states. Word has length 7 [2019-02-14 16:33:01,357 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:33:01,357 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2019-02-14 16:33:01,357 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 98 transitions. [2019-02-14 16:33:01,357 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 14 states. [2019-02-14 16:33:01,358 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 98 transitions. [2019-02-14 16:33:01,358 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 98 transitions. [2019-02-14 16:33:01,588 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:33:01,592 INFO L225 Difference]: With dead ends: 200 [2019-02-14 16:33:01,592 INFO L226 Difference]: Without dead ends: 199 [2019-02-14 16:33:01,592 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 150 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=191, Invalid=361, Unknown=0, NotChecked=0, Total=552 [2019-02-14 16:33:01,593 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 199 states. [2019-02-14 16:33:07,357 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 199 to 131. [2019-02-14 16:33:07,357 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:33:07,357 INFO L82 GeneralOperation]: Start isEquivalent. First operand 199 states. Second operand 131 states. [2019-02-14 16:33:07,357 INFO L74 IsIncluded]: Start isIncluded. First operand 199 states. Second operand 131 states. [2019-02-14 16:33:07,358 INFO L87 Difference]: Start difference. First operand 199 states. Second operand 131 states. [2019-02-14 16:33:07,363 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:33:07,363 INFO L93 Difference]: Finished difference Result 199 states and 822 transitions. [2019-02-14 16:33:07,363 INFO L276 IsEmpty]: Start isEmpty. Operand 199 states and 822 transitions. [2019-02-14 16:33:07,363 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:33:07,364 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:33:07,364 INFO L74 IsIncluded]: Start isIncluded. First operand 131 states. Second operand 199 states. [2019-02-14 16:33:07,364 INFO L87 Difference]: Start difference. First operand 131 states. Second operand 199 states. [2019-02-14 16:33:07,368 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:33:07,368 INFO L93 Difference]: Finished difference Result 199 states and 822 transitions. [2019-02-14 16:33:07,368 INFO L276 IsEmpty]: Start isEmpty. Operand 199 states and 822 transitions. [2019-02-14 16:33:07,369 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:33:07,369 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:33:07,369 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:33:07,369 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:33:07,369 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 131 states. [2019-02-14 16:33:07,371 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 131 states to 131 states and 674 transitions. [2019-02-14 16:33:07,372 INFO L78 Accepts]: Start accepts. Automaton has 131 states and 674 transitions. Word has length 7 [2019-02-14 16:33:07,372 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:33:07,372 INFO L480 AbstractCegarLoop]: Abstraction has 131 states and 674 transitions. [2019-02-14 16:33:07,372 INFO L481 AbstractCegarLoop]: Interpolant automaton has 14 states. [2019-02-14 16:33:07,372 INFO L276 IsEmpty]: Start isEmpty. Operand 131 states and 674 transitions. [2019-02-14 16:33:07,372 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-14 16:33:07,372 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:33:07,372 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-14 16:33:07,372 INFO L423 AbstractCegarLoop]: === Iteration 73 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:33:07,373 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:33:07,373 INFO L82 PathProgramCache]: Analyzing trace with hash -2030969310, now seen corresponding path program 1 times [2019-02-14 16:33:07,373 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:33:07,373 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:33:07,374 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2019-02-14 16:33:07,374 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:33:07,374 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:33:07,376 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:33:07,620 INFO L273 TraceCheckUtils]: 0: Hoare triple {37834#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {37836#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:33:07,621 INFO L273 TraceCheckUtils]: 1: Hoare triple {37836#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {37837#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:33:07,622 INFO L273 TraceCheckUtils]: 2: Hoare triple {37837#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {37837#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:33:07,623 INFO L273 TraceCheckUtils]: 3: Hoare triple {37837#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {37838#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-14 16:33:07,624 INFO L273 TraceCheckUtils]: 4: Hoare triple {37838#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p1] >= 0; {37838#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-14 16:33:07,625 INFO L273 TraceCheckUtils]: 5: Hoare triple {37838#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p2] <= 0; {37839#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-14 16:33:07,625 INFO L273 TraceCheckUtils]: 6: Hoare triple {37839#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {37835#false} is VALID [2019-02-14 16:33:07,626 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-14 16:33:07,626 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:33:07,626 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:33:07,626 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2019-02-14 16:33:07,626 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [18], [24], [26], [27] [2019-02-14 16:33:07,627 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:33:07,627 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:33:07,642 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:33:07,642 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-14 16:33:07,642 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:33:07,642 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:33:07,643 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:33:07,643 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 71 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 71 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:33:07,653 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:33:07,653 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:33:07,657 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:33:07,662 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:33:07,662 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:33:07,688 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 [2019-02-14 16:33:07,697 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:07,698 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 [2019-02-14 16:33:07,710 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:07,712 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:07,712 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 [2019-02-14 16:33:07,730 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:07,731 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:07,732 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:07,733 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 [2019-02-14 16:33:07,756 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:07,765 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:07,766 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:07,767 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:07,768 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 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 [2019-02-14 16:33:07,774 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:33:07,803 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:33:07,821 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:33:07,835 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:33:07,848 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:33:07,869 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-0 vars, 1 dim-1 vars, End of recursive call: 1 dim-0 vars, and 1 xjuncts. [2019-02-14 16:33:07,869 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-14 16:33:07,875 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:33:07,875 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_448|, ULTIMATE.start_main_p5]. (and (= (store (store (store (store (store |v_#memory_int_448| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:33:07,875 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:33:07,946 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:07,947 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:07,948 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:07,949 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:07,950 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:07,952 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:07,953 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:07,954 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:07,955 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:07,956 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:07,957 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:07,958 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2019-02-14 16:33:07,964 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:33:08,010 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:33:08,011 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-14 16:33:08,023 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:33:08,023 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_449|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_449| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_449| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_449| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_449| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_449| ULTIMATE.start_main_p1) 0) (= 0 (select |v_#memory_int_449| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:33:08,023 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:33:08,097 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:08,098 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:08,099 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:08,101 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:08,102 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:08,103 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:08,105 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:08,106 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:08,107 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:08,108 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:08,110 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:08,111 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:08,112 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:08,113 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 88 [2019-02-14 16:33:08,119 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:33:08,171 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:33:08,171 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-14 16:33:08,237 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:33:08,237 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_450|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_450| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_450| ULTIMATE.start_main_p2)) (= (select |v_#memory_int_450| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 0 (select |v_#memory_int_450| ULTIMATE.start_main_p3)) (= |#memory_int| (store |v_#memory_int_450| ULTIMATE.start_main_p1 (+ .cse0 1))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (+ (select |v_#memory_int_450| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:33:08,238 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:33:08,329 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:08,330 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:08,331 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:08,332 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:08,338 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:08,339 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:08,340 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:08,341 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:08,342 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:08,343 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:08,344 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:08,345 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:08,346 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:33:08,347 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:08,348 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 97 [2019-02-14 16:33:08,353 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:33:08,408 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:33:08,409 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2019-02-14 16:33:10,435 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:33:10,435 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_451|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_451| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 1 (select |v_#memory_int_451| ULTIMATE.start_main_p1)) (= 0 (select |v_#memory_int_451| ULTIMATE.start_main_p5)) (= (store |v_#memory_int_451| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_451| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (+ (select |v_#memory_int_451| ULTIMATE.start_main_p4) 1)))) [2019-02-14 16:33:10,435 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:33:10,564 INFO L273 TraceCheckUtils]: 0: Hoare triple {37834#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {37843#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:33:10,567 INFO L273 TraceCheckUtils]: 1: Hoare triple {37843#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {37847#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:33:10,569 INFO L273 TraceCheckUtils]: 2: Hoare triple {37847#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {37851#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:33:10,572 INFO L273 TraceCheckUtils]: 3: Hoare triple {37851#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {37855#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:33:10,574 INFO L273 TraceCheckUtils]: 4: Hoare triple {37855#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {37855#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:33:10,575 INFO L273 TraceCheckUtils]: 5: Hoare triple {37855#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {37855#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:33:10,575 INFO L273 TraceCheckUtils]: 6: Hoare triple {37855#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {37835#false} is VALID [2019-02-14 16:33:10,576 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:33:10,576 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:33:10,658 INFO L273 TraceCheckUtils]: 6: Hoare triple {37865#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {37835#false} is VALID [2019-02-14 16:33:10,659 INFO L273 TraceCheckUtils]: 5: Hoare triple {37865#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {37865#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:33:10,659 INFO L273 TraceCheckUtils]: 4: Hoare triple {37865#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {37865#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:33:10,660 INFO L273 TraceCheckUtils]: 3: Hoare triple {37875#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {37865#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:33:10,662 INFO L273 TraceCheckUtils]: 2: Hoare triple {37879#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {37875#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:33:10,664 INFO L273 TraceCheckUtils]: 1: Hoare triple {37883#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {37879#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:33:10,666 INFO L273 TraceCheckUtils]: 0: Hoare triple {37834#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {37883#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:33:10,666 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:33:10,685 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:33:10,685 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2019-02-14 16:33:10,685 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:33:10,685 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 7 [2019-02-14 16:33:10,686 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:33:10,686 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-14 16:33:10,712 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:33:10,712 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-14 16:33:10,712 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-14 16:33:10,712 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=66, Invalid=116, Unknown=0, NotChecked=0, Total=182 [2019-02-14 16:33:10,713 INFO L87 Difference]: Start difference. First operand 131 states and 674 transitions. Second operand 10 states. [2019-02-14 16:33:18,462 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:33:18,462 INFO L93 Difference]: Finished difference Result 160 states and 731 transitions. [2019-02-14 16:33:18,462 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-14 16:33:18,462 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 7 [2019-02-14 16:33:18,462 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:33:18,463 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:33:18,463 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2019-02-14 16:33:18,463 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:33:18,463 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2019-02-14 16:33:18,463 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 59 transitions. [2019-02-14 16:33:18,558 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:33:18,562 INFO L225 Difference]: With dead ends: 160 [2019-02-14 16:33:18,562 INFO L226 Difference]: Without dead ends: 159 [2019-02-14 16:33:18,562 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 4 SyntacticMatches, 2 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 63 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=99, Invalid=173, Unknown=0, NotChecked=0, Total=272 [2019-02-14 16:33:18,562 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 159 states. [2019-02-14 16:33:25,065 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 159 to 137. [2019-02-14 16:33:25,065 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:33:25,065 INFO L82 GeneralOperation]: Start isEquivalent. First operand 159 states. Second operand 137 states. [2019-02-14 16:33:25,066 INFO L74 IsIncluded]: Start isIncluded. First operand 159 states. Second operand 137 states. [2019-02-14 16:33:25,066 INFO L87 Difference]: Start difference. First operand 159 states. Second operand 137 states. [2019-02-14 16:33:25,070 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:33:25,070 INFO L93 Difference]: Finished difference Result 159 states and 729 transitions. [2019-02-14 16:33:25,070 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 729 transitions. [2019-02-14 16:33:25,071 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:33:25,071 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:33:25,071 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand 159 states. [2019-02-14 16:33:25,071 INFO L87 Difference]: Start difference. First operand 137 states. Second operand 159 states. [2019-02-14 16:33:25,074 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:33:25,074 INFO L93 Difference]: Finished difference Result 159 states and 729 transitions. [2019-02-14 16:33:25,075 INFO L276 IsEmpty]: Start isEmpty. Operand 159 states and 729 transitions. [2019-02-14 16:33:25,075 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:33:25,075 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:33:25,075 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:33:25,075 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:33:25,075 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 137 states. [2019-02-14 16:33:25,078 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 137 states to 137 states and 710 transitions. [2019-02-14 16:33:25,078 INFO L78 Accepts]: Start accepts. Automaton has 137 states and 710 transitions. Word has length 7 [2019-02-14 16:33:25,078 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:33:25,078 INFO L480 AbstractCegarLoop]: Abstraction has 137 states and 710 transitions. [2019-02-14 16:33:25,078 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-14 16:33:25,078 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 710 transitions. [2019-02-14 16:33:25,078 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-14 16:33:25,079 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:33:25,079 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-14 16:33:25,079 INFO L423 AbstractCegarLoop]: === Iteration 74 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:33:25,079 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:33:25,079 INFO L82 PathProgramCache]: Analyzing trace with hash -2030863664, now seen corresponding path program 1 times [2019-02-14 16:33:25,079 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:33:25,080 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:33:25,080 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:33:25,080 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:33:25,080 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:33:25,083 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:33:25,347 INFO L273 TraceCheckUtils]: 0: Hoare triple {38737#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {38739#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2019-02-14 16:33:25,348 INFO L273 TraceCheckUtils]: 1: Hoare triple {38739#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {38740#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:33:25,349 INFO L273 TraceCheckUtils]: 2: Hoare triple {38740#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {38740#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:33:25,350 INFO L273 TraceCheckUtils]: 3: Hoare triple {38740#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {38741#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:33:25,351 INFO L273 TraceCheckUtils]: 4: Hoare triple {38741#(= (select |#memory_int| ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {38742#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2019-02-14 16:33:25,351 INFO L273 TraceCheckUtils]: 5: Hoare triple {38742#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume #memory_int[main_p1] >= 0; {38742#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2019-02-14 16:33:25,352 INFO L273 TraceCheckUtils]: 6: Hoare triple {38742#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {38738#false} is VALID [2019-02-14 16:33:25,353 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-14 16:33:25,353 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:33:25,353 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:33:25,353 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2019-02-14 16:33:25,353 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [14], [18], [24], [25] [2019-02-14 16:33:25,354 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:33:25,354 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:33:25,382 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:33:25,382 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 4 fixpoints after 4 different actions. Largest state had 0 variables. [2019-02-14 16:33:25,382 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:33:25,382 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:33:25,382 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:33:25,382 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 72 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 72 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:33:25,393 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:33:25,393 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:33:25,397 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:33:25,403 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:33:25,403 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:33:25,425 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 [2019-02-14 16:33:25,435 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:25,436 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 [2019-02-14 16:33:25,450 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:25,451 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:25,452 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 [2019-02-14 16:33:25,470 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:25,471 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:25,473 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:25,473 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 [2019-02-14 16:33:25,496 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:25,498 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:25,499 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:25,500 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:25,501 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 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 [2019-02-14 16:33:25,507 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:33:25,544 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:33:25,560 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:33:25,573 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:33:25,585 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:33:25,607 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. [2019-02-14 16:33:25,607 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-14 16:33:25,613 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:33:25,613 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_455|, ULTIMATE.start_main_p5]. (and (= (store (store (store (store (store |v_#memory_int_455| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:33:25,614 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:33:25,688 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:25,689 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:25,690 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:25,691 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:25,693 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:25,694 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:25,695 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:25,696 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:25,697 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:25,698 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:25,700 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:25,700 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2019-02-14 16:33:25,707 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:33:25,751 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:33:25,751 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-14 16:33:26,349 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:33:26,349 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_456|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_456| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_456| ULTIMATE.start_main_p2) 0) (= (store |v_#memory_int_456| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_456| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_456| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= .cse0 0) (= (select |v_#memory_int_456| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:33:26,350 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:33:26,426 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:26,427 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:26,428 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:26,429 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:26,431 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:26,432 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:26,433 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:26,434 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:26,435 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:26,436 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:26,438 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:26,439 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:26,440 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:26,440 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 88 [2019-02-14 16:33:26,447 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:33:26,501 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:33:26,501 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-14 16:33:28,511 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:33:28,512 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_457|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_457| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_457| ULTIMATE.start_main_p2)) (= 0 .cse0) (= (+ (select |v_#memory_int_457| ULTIMATE.start_main_p4) 1) 0) (= (store |v_#memory_int_457| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= 0 (select |v_#memory_int_457| ULTIMATE.start_main_p5)) (= 0 (select |v_#memory_int_457| ULTIMATE.start_main_p3)))) [2019-02-14 16:33:28,512 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:33:28,589 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:28,590 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:28,591 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:28,593 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:28,594 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:28,595 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:28,597 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:28,598 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:28,599 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:28,600 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:28,602 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:28,603 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:28,604 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:28,610 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:28,611 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:28,612 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:33:28,612 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 104 [2019-02-14 16:33:28,618 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:33:28,678 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:33:28,679 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-14 16:33:28,792 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:33:28,792 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_458|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_458| ULTIMATE.start_main_p3))) (and (= 0 (+ (select |v_#memory_int_458| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_458| ULTIMATE.start_main_p3 (+ .cse0 1))) (= 0 .cse0) (= 0 (select |v_#memory_int_458| ULTIMATE.start_main_p2)) (= 0 (select |v_#memory_int_458| ULTIMATE.start_main_p5)) (= 1 (select |v_#memory_int_458| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:33:28,792 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:33:28,870 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:28,872 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:28,873 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:28,874 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:28,875 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:28,877 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:28,878 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:28,879 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:28,880 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:28,881 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:28,882 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:28,883 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:28,884 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:33:28,885 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:28,886 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 97 [2019-02-14 16:33:28,893 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:33:28,946 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:33:28,947 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:38 [2019-02-14 16:33:28,981 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:33:28,981 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_459|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_459| ULTIMATE.start_main_p2))) (and (= (select |v_#memory_int_459| ULTIMATE.start_main_p1) 1) (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_459| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_459| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_459| ULTIMATE.start_main_p3) 1) (= 0 (+ (select |v_#memory_int_459| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:33:28,982 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:33:29,050 INFO L273 TraceCheckUtils]: 0: Hoare triple {38737#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {38746#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:33:29,053 INFO L273 TraceCheckUtils]: 1: Hoare triple {38746#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {38750#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:33:29,056 INFO L273 TraceCheckUtils]: 2: Hoare triple {38750#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {38754#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:33:29,059 INFO L273 TraceCheckUtils]: 3: Hoare triple {38754#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {38758#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:33:29,063 INFO L273 TraceCheckUtils]: 4: Hoare triple {38758#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {38762#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2019-02-14 16:33:29,063 INFO L273 TraceCheckUtils]: 5: Hoare triple {38762#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume #memory_int[main_p1] >= 0; {38762#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} is VALID [2019-02-14 16:33:29,064 INFO L273 TraceCheckUtils]: 6: Hoare triple {38762#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)))} assume !(#memory_int[main_p2] <= 0); {38738#false} is VALID [2019-02-14 16:33:29,064 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:33:29,064 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:33:29,165 INFO L273 TraceCheckUtils]: 6: Hoare triple {38769#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {38738#false} is VALID [2019-02-14 16:33:29,166 INFO L273 TraceCheckUtils]: 5: Hoare triple {38769#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {38769#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:33:29,167 INFO L273 TraceCheckUtils]: 4: Hoare triple {38776#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {38769#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:33:29,168 INFO L273 TraceCheckUtils]: 3: Hoare triple {38780#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {38776#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2019-02-14 16:33:29,169 INFO L273 TraceCheckUtils]: 2: Hoare triple {38784#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {38780#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2019-02-14 16:33:29,171 INFO L273 TraceCheckUtils]: 1: Hoare triple {38788#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {38784#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2019-02-14 16:33:29,174 INFO L273 TraceCheckUtils]: 0: Hoare triple {38737#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {38788#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2019-02-14 16:33:29,174 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 3 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:33:29,193 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:33:29,194 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 5, 5] total 14 [2019-02-14 16:33:29,194 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:33:29,194 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 7 [2019-02-14 16:33:29,194 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:33:29,194 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-02-14 16:33:29,219 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:33:29,220 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-02-14 16:33:29,220 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-02-14 16:33:29,220 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=87, Invalid=153, Unknown=0, NotChecked=0, Total=240 [2019-02-14 16:33:29,220 INFO L87 Difference]: Start difference. First operand 137 states and 710 transitions. Second operand 11 states. [2019-02-14 16:33:38,595 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:33:38,595 INFO L93 Difference]: Finished difference Result 197 states and 846 transitions. [2019-02-14 16:33:38,595 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-02-14 16:33:38,595 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 7 [2019-02-14 16:33:38,595 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:33:38,596 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-02-14 16:33:38,596 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 84 transitions. [2019-02-14 16:33:38,596 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 11 states. [2019-02-14 16:33:38,596 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 84 transitions. [2019-02-14 16:33:38,596 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 84 transitions. [2019-02-14 16:33:38,730 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:33:38,734 INFO L225 Difference]: With dead ends: 197 [2019-02-14 16:33:38,734 INFO L226 Difference]: Without dead ends: 196 [2019-02-14 16:33:38,734 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 84 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=120, Invalid=222, Unknown=0, NotChecked=0, Total=342 [2019-02-14 16:33:38,734 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 196 states. [2019-02-14 16:33:45,560 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 196 to 140. [2019-02-14 16:33:45,560 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:33:45,561 INFO L82 GeneralOperation]: Start isEquivalent. First operand 196 states. Second operand 140 states. [2019-02-14 16:33:45,561 INFO L74 IsIncluded]: Start isIncluded. First operand 196 states. Second operand 140 states. [2019-02-14 16:33:45,561 INFO L87 Difference]: Start difference. First operand 196 states. Second operand 140 states. [2019-02-14 16:33:45,566 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:33:45,566 INFO L93 Difference]: Finished difference Result 196 states and 844 transitions. [2019-02-14 16:33:45,566 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 844 transitions. [2019-02-14 16:33:45,567 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:33:45,567 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:33:45,567 INFO L74 IsIncluded]: Start isIncluded. First operand 140 states. Second operand 196 states. [2019-02-14 16:33:45,567 INFO L87 Difference]: Start difference. First operand 140 states. Second operand 196 states. [2019-02-14 16:33:45,572 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:33:45,572 INFO L93 Difference]: Finished difference Result 196 states and 844 transitions. [2019-02-14 16:33:45,572 INFO L276 IsEmpty]: Start isEmpty. Operand 196 states and 844 transitions. [2019-02-14 16:33:45,572 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:33:45,572 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:33:45,572 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:33:45,572 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:33:45,572 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 140 states. [2019-02-14 16:33:45,575 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 140 states to 140 states and 728 transitions. [2019-02-14 16:33:45,575 INFO L78 Accepts]: Start accepts. Automaton has 140 states and 728 transitions. Word has length 7 [2019-02-14 16:33:45,575 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:33:45,575 INFO L480 AbstractCegarLoop]: Abstraction has 140 states and 728 transitions. [2019-02-14 16:33:45,575 INFO L481 AbstractCegarLoop]: Interpolant automaton has 11 states. [2019-02-14 16:33:45,575 INFO L276 IsEmpty]: Start isEmpty. Operand 140 states and 728 transitions. [2019-02-14 16:33:45,576 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-14 16:33:45,576 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:33:45,576 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-14 16:33:45,576 INFO L423 AbstractCegarLoop]: === Iteration 75 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:33:45,576 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:33:45,576 INFO L82 PathProgramCache]: Analyzing trace with hash -2026994678, now seen corresponding path program 2 times [2019-02-14 16:33:45,576 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:33:45,577 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:33:45,577 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:33:45,577 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:33:45,577 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:33:45,579 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:33:46,119 WARN L181 SmtUtils]: Spent 190.00 ms on a formula simplification. DAG size of input: 41 DAG size of output: 21 [2019-02-14 16:33:46,309 INFO L273 TraceCheckUtils]: 0: Hoare triple {39775#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {39777#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:33:46,310 INFO L273 TraceCheckUtils]: 1: Hoare triple {39777#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {39778#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:33:46,311 INFO L273 TraceCheckUtils]: 2: Hoare triple {39778#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {39779#(and (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:33:46,312 INFO L273 TraceCheckUtils]: 3: Hoare triple {39779#(and (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {39780#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:33:46,313 INFO L273 TraceCheckUtils]: 4: Hoare triple {39780#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {39780#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:33:46,314 INFO L273 TraceCheckUtils]: 5: Hoare triple {39780#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {39781#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2019-02-14 16:33:46,315 INFO L273 TraceCheckUtils]: 6: Hoare triple {39781#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {39776#false} is VALID [2019-02-14 16:33:46,315 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-14 16:33:46,315 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:33:46,315 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:33:46,315 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2019-02-14 16:33:46,316 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2019-02-14 16:33:46,316 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:33:46,316 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 73 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 73 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:33:46,328 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2019-02-14 16:33:46,328 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2019-02-14 16:33:46,334 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2019-02-14 16:33:46,335 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2019-02-14 16:33:46,339 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:33:46,339 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:33:46,363 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 [2019-02-14 16:33:46,372 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,373 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 [2019-02-14 16:33:46,385 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,387 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,387 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 [2019-02-14 16:33:46,405 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,406 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,407 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,408 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 [2019-02-14 16:33:46,430 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,431 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,433 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,434 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,434 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 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 [2019-02-14 16:33:46,441 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:33:46,472 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:33:46,489 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:33:46,504 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:33:46,515 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:33:46,538 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. [2019-02-14 16:33:46,538 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-14 16:33:46,545 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:33:46,545 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_464|, ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_464| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:33:46,545 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:33:46,624 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,625 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,627 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,628 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,629 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,630 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,632 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,633 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,634 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,636 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,637 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,638 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2019-02-14 16:33:46,644 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:33:46,691 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:33:46,691 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-14 16:33:46,706 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:33:46,707 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_465|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p3]. (let ((.cse0 (select |v_#memory_int_465| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_465| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_465| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_465| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= .cse0 0) (= (select |v_#memory_int_465| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |v_#memory_int_465| ULTIMATE.start_main_p2) 0))) [2019-02-14 16:33:46,707 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:33:46,788 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,790 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,791 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,792 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,793 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,794 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,796 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,797 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,798 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,799 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,800 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,801 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:33:46,801 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 81 [2019-02-14 16:33:46,808 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:33:46,856 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:33:46,856 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:50, output treesize:38 [2019-02-14 16:33:46,866 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:33:46,866 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_466|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_466| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_466| ULTIMATE.start_main_p1)) (= 0 .cse0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_466| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= (select |v_#memory_int_466| ULTIMATE.start_main_p5) 0) (= 0 (+ (select |v_#memory_int_466| ULTIMATE.start_main_p4) 1)) (= 0 (select |v_#memory_int_466| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:33:46,866 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:33:46,943 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,945 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,946 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,947 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,948 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,950 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,951 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,952 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,954 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,955 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,956 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,957 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,959 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:46,959 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 [2019-02-14 16:33:46,968 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:33:47,017 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:33:47,017 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:52, output treesize:42 [2019-02-14 16:33:47,036 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:33:47,037 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_467|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_467| ULTIMATE.start_main_p5))) (and (= (+ (select |v_#memory_int_467| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= |#memory_int| (store |v_#memory_int_467| ULTIMATE.start_main_p5 (+ .cse0 1))) (= (+ (select |v_#memory_int_467| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |v_#memory_int_467| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_467| ULTIMATE.start_main_p3)))) [2019-02-14 16:33:47,037 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-14 16:33:47,113 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:47,114 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:47,114 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:47,115 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:47,116 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:47,118 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:47,119 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:47,120 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:47,122 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:47,123 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:47,124 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:47,125 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:47,126 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:47,128 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:33:47,128 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:33:47,129 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 96 [2019-02-14 16:33:47,135 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:33:47,189 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:33:47,190 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:52, output treesize:42 [2019-02-14 16:33:47,243 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:33:47,243 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_468|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_468| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_468| ULTIMATE.start_main_p2) 1) 0) (= 0 (+ (select |v_#memory_int_468| ULTIMATE.start_main_p4) 1)) (= .cse0 0) (= |#memory_int| (store |v_#memory_int_468| ULTIMATE.start_main_p1 (+ .cse0 1))) (= (select |v_#memory_int_468| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_468| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:33:47,243 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-14 16:33:47,315 INFO L273 TraceCheckUtils]: 0: Hoare triple {39775#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {39785#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:33:47,317 INFO L273 TraceCheckUtils]: 1: Hoare triple {39785#(and (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {39789#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-02-14 16:33:47,318 INFO L273 TraceCheckUtils]: 2: Hoare triple {39789#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {39793#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} is VALID [2019-02-14 16:33:47,322 INFO L273 TraceCheckUtils]: 3: Hoare triple {39793#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {39797#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:33:47,325 INFO L273 TraceCheckUtils]: 4: Hoare triple {39797#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {39801#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:33:47,326 INFO L273 TraceCheckUtils]: 5: Hoare triple {39801#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {39801#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:33:47,327 INFO L273 TraceCheckUtils]: 6: Hoare triple {39801#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {39776#false} is VALID [2019-02-14 16:33:47,327 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:33:47,328 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:33:47,435 INFO L273 TraceCheckUtils]: 6: Hoare triple {39808#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {39776#false} is VALID [2019-02-14 16:33:47,436 INFO L273 TraceCheckUtils]: 5: Hoare triple {39808#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {39808#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:33:47,437 INFO L273 TraceCheckUtils]: 4: Hoare triple {39815#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {39808#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:33:47,438 INFO L273 TraceCheckUtils]: 3: Hoare triple {39819#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {39815#(<= (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:33:47,440 INFO L273 TraceCheckUtils]: 2: Hoare triple {39823#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {39819#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:33:47,442 INFO L273 TraceCheckUtils]: 1: Hoare triple {39827#(<= (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {39823#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:33:47,444 INFO L273 TraceCheckUtils]: 0: Hoare triple {39775#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {39827#(<= (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:33:47,444 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 5 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:33:47,463 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:33:47,463 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2019-02-14 16:33:47,463 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:33:47,464 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2019-02-14 16:33:47,464 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:33:47,464 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-02-14 16:33:47,490 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:33:47,490 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-02-14 16:33:47,491 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-02-14 16:33:47,491 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=100, Invalid=172, Unknown=0, NotChecked=0, Total=272 [2019-02-14 16:33:47,491 INFO L87 Difference]: Start difference. First operand 140 states and 728 transitions. Second operand 12 states. [2019-02-14 16:33:57,357 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:33:57,357 INFO L93 Difference]: Finished difference Result 195 states and 830 transitions. [2019-02-14 16:33:57,357 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-02-14 16:33:57,357 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2019-02-14 16:33:57,357 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:33:57,357 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-14 16:33:57,358 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 84 transitions. [2019-02-14 16:33:57,358 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-14 16:33:57,358 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 84 transitions. [2019-02-14 16:33:57,358 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 84 transitions. [2019-02-14 16:33:57,498 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 84 edges. 84 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:33:57,502 INFO L225 Difference]: With dead ends: 195 [2019-02-14 16:33:57,502 INFO L226 Difference]: Without dead ends: 189 [2019-02-14 16:33:57,502 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 2 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 100 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=132, Invalid=248, Unknown=0, NotChecked=0, Total=380 [2019-02-14 16:33:57,502 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 189 states. [2019-02-14 16:34:04,416 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 189 to 139. [2019-02-14 16:34:04,416 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:34:04,416 INFO L82 GeneralOperation]: Start isEquivalent. First operand 189 states. Second operand 139 states. [2019-02-14 16:34:04,416 INFO L74 IsIncluded]: Start isIncluded. First operand 189 states. Second operand 139 states. [2019-02-14 16:34:04,416 INFO L87 Difference]: Start difference. First operand 189 states. Second operand 139 states. [2019-02-14 16:34:04,421 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:34:04,422 INFO L93 Difference]: Finished difference Result 189 states and 822 transitions. [2019-02-14 16:34:04,422 INFO L276 IsEmpty]: Start isEmpty. Operand 189 states and 822 transitions. [2019-02-14 16:34:04,422 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:34:04,422 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:34:04,422 INFO L74 IsIncluded]: Start isIncluded. First operand 139 states. Second operand 189 states. [2019-02-14 16:34:04,422 INFO L87 Difference]: Start difference. First operand 139 states. Second operand 189 states. [2019-02-14 16:34:04,426 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:34:04,426 INFO L93 Difference]: Finished difference Result 189 states and 822 transitions. [2019-02-14 16:34:04,426 INFO L276 IsEmpty]: Start isEmpty. Operand 189 states and 822 transitions. [2019-02-14 16:34:04,427 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:34:04,427 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:34:04,427 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:34:04,427 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:34:04,427 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 139 states. [2019-02-14 16:34:04,430 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 139 states to 139 states and 721 transitions. [2019-02-14 16:34:04,430 INFO L78 Accepts]: Start accepts. Automaton has 139 states and 721 transitions. Word has length 7 [2019-02-14 16:34:04,430 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:34:04,430 INFO L480 AbstractCegarLoop]: Abstraction has 139 states and 721 transitions. [2019-02-14 16:34:04,430 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-02-14 16:34:04,430 INFO L276 IsEmpty]: Start isEmpty. Operand 139 states and 721 transitions. [2019-02-14 16:34:04,430 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-14 16:34:04,430 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:34:04,431 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-14 16:34:04,431 INFO L423 AbstractCegarLoop]: === Iteration 76 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:34:04,431 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:34:04,431 INFO L82 PathProgramCache]: Analyzing trace with hash -2026977316, now seen corresponding path program 1 times [2019-02-14 16:34:04,431 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:34:04,431 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:34:04,431 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2019-02-14 16:34:04,431 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:34:04,432 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:34:04,434 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:34:04,642 INFO L273 TraceCheckUtils]: 0: Hoare triple {40793#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {40795#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:34:04,643 INFO L273 TraceCheckUtils]: 1: Hoare triple {40795#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {40796#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:34:04,644 INFO L273 TraceCheckUtils]: 2: Hoare triple {40796#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {40796#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:34:04,645 INFO L273 TraceCheckUtils]: 3: Hoare triple {40796#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {40797#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-14 16:34:04,646 INFO L273 TraceCheckUtils]: 4: Hoare triple {40797#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p1] >= 0; {40797#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-14 16:34:04,646 INFO L273 TraceCheckUtils]: 5: Hoare triple {40797#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} assume #memory_int[main_p2] <= 0; {40798#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-14 16:34:04,647 INFO L273 TraceCheckUtils]: 6: Hoare triple {40798#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {40794#false} is VALID [2019-02-14 16:34:04,647 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-14 16:34:04,648 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:34:04,648 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:34:04,648 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2019-02-14 16:34:04,648 INFO L207 CegarAbsIntRunner]: [0], [10], [18], [20], [24], [26], [27] [2019-02-14 16:34:04,649 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:34:04,649 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:34:04,664 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:34:04,665 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-14 16:34:04,665 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:34:04,665 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:34:04,665 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:34:04,665 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 74 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 74 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:34:04,674 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:34:04,674 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:34:04,679 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:34:04,682 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:34:04,683 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:34:04,702 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 [2019-02-14 16:34:04,710 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 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 [2019-02-14 16:34:04,724 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:04,725 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-14 16:34:04,748 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:04,749 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:04,750 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-14 16:34:04,769 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:04,774 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:04,775 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:04,776 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 6 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 50 [2019-02-14 16:34:04,782 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:34:04,804 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:34:04,818 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:34:04,831 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:34:04,843 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:34:04,862 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. [2019-02-14 16:34:04,862 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:28, output treesize:35 [2019-02-14 16:34:04,868 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:34:04,868 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_473|, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= |#memory_int| (store (store (store (store (store |v_#memory_int_473| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0))) [2019-02-14 16:34:04,868 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:34:04,943 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:04,944 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:04,945 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:04,946 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:04,947 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:04,949 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:04,950 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:04,950 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 [2019-02-14 16:34:04,955 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:34:04,985 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. [2019-02-14 16:34:04,985 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:40, output treesize:30 [2019-02-14 16:34:05,095 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:34:05,095 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_474|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_474| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_474| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_474| ULTIMATE.start_main_p5)) (= (store |v_#memory_int_474| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_474| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:34:05,095 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:34:05,156 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:05,157 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:05,158 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:05,160 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:05,161 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:05,162 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:05,163 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:05,163 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:34:05,164 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 [2019-02-14 16:34:05,169 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:34:05,203 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:34:05,204 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:42, output treesize:30 [2019-02-14 16:34:05,225 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:34:05,225 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_475|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_475| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_475| ULTIMATE.start_main_p3) 0) (= 0 (select |v_#memory_int_475| ULTIMATE.start_main_p5)) (= .cse0 0) (= (+ (select |v_#memory_int_475| ULTIMATE.start_main_p4) 1) 0) (= (store |v_#memory_int_475| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:34:05,225 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:34:05,285 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:05,286 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:05,287 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:05,288 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:05,290 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:05,291 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:05,292 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:05,293 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:05,294 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:05,295 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 61 [2019-02-14 16:34:05,300 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:34:05,333 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:34:05,334 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:44, output treesize:34 [2019-02-14 16:34:05,340 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:34:05,340 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_476|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_476| ULTIMATE.start_main_p5))) (and (= (+ (select |v_#memory_int_476| ULTIMATE.start_main_p4) 1) 0) (= (select |v_#memory_int_476| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_476| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= .cse0 0) (= 0 (+ (select |v_#memory_int_476| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:34:05,340 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:34:05,443 INFO L273 TraceCheckUtils]: 0: Hoare triple {40793#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {40802#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-14 16:34:05,444 INFO L273 TraceCheckUtils]: 1: Hoare triple {40802#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {40806#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:34:05,445 INFO L273 TraceCheckUtils]: 2: Hoare triple {40806#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {40810#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-14 16:34:05,447 INFO L273 TraceCheckUtils]: 3: Hoare triple {40810#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {40814#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:34:05,448 INFO L273 TraceCheckUtils]: 4: Hoare triple {40814#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {40814#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:34:05,449 INFO L273 TraceCheckUtils]: 5: Hoare triple {40814#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {40814#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:34:05,450 INFO L273 TraceCheckUtils]: 6: Hoare triple {40814#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {40794#false} is VALID [2019-02-14 16:34:05,451 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:34:05,451 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:34:05,530 INFO L273 TraceCheckUtils]: 6: Hoare triple {40824#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {40794#false} is VALID [2019-02-14 16:34:05,530 INFO L273 TraceCheckUtils]: 5: Hoare triple {40824#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {40824#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:34:05,531 INFO L273 TraceCheckUtils]: 4: Hoare triple {40824#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {40824#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:34:05,532 INFO L273 TraceCheckUtils]: 3: Hoare triple {40834#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {40824#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:34:05,534 INFO L273 TraceCheckUtils]: 2: Hoare triple {40838#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {40834#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:34:05,536 INFO L273 TraceCheckUtils]: 1: Hoare triple {40842#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {40838#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:34:05,538 INFO L273 TraceCheckUtils]: 0: Hoare triple {40793#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {40842#(<= 0 (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:34:05,538 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 1 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:34:05,557 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:34:05,558 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2019-02-14 16:34:05,558 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:34:05,558 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 7 [2019-02-14 16:34:05,558 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:34:05,558 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-14 16:34:05,579 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:34:05,579 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-14 16:34:05,579 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-14 16:34:05,579 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=67, Invalid=115, Unknown=0, NotChecked=0, Total=182 [2019-02-14 16:34:05,579 INFO L87 Difference]: Start difference. First operand 139 states and 721 transitions. Second operand 10 states. [2019-02-14 16:34:13,931 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:34:13,931 INFO L93 Difference]: Finished difference Result 157 states and 743 transitions. [2019-02-14 16:34:13,932 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-14 16:34:13,932 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 7 [2019-02-14 16:34:13,932 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:34:13,932 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:34:13,932 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 53 transitions. [2019-02-14 16:34:13,932 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:34:13,932 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 53 transitions. [2019-02-14 16:34:13,933 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 53 transitions. [2019-02-14 16:34:14,009 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:34:14,012 INFO L225 Difference]: With dead ends: 157 [2019-02-14 16:34:14,012 INFO L226 Difference]: Without dead ends: 156 [2019-02-14 16:34:14,012 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 4 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=100, Invalid=172, Unknown=0, NotChecked=0, Total=272 [2019-02-14 16:34:14,012 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 156 states. [2019-02-14 16:34:20,967 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 156 to 137. [2019-02-14 16:34:20,967 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:34:20,967 INFO L82 GeneralOperation]: Start isEquivalent. First operand 156 states. Second operand 137 states. [2019-02-14 16:34:20,967 INFO L74 IsIncluded]: Start isIncluded. First operand 156 states. Second operand 137 states. [2019-02-14 16:34:20,967 INFO L87 Difference]: Start difference. First operand 156 states. Second operand 137 states. [2019-02-14 16:34:20,972 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:34:20,972 INFO L93 Difference]: Finished difference Result 156 states and 740 transitions. [2019-02-14 16:34:20,972 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 740 transitions. [2019-02-14 16:34:20,972 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:34:20,972 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:34:20,972 INFO L74 IsIncluded]: Start isIncluded. First operand 137 states. Second operand 156 states. [2019-02-14 16:34:20,972 INFO L87 Difference]: Start difference. First operand 137 states. Second operand 156 states. [2019-02-14 16:34:20,976 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:34:20,976 INFO L93 Difference]: Finished difference Result 156 states and 740 transitions. [2019-02-14 16:34:20,976 INFO L276 IsEmpty]: Start isEmpty. Operand 156 states and 740 transitions. [2019-02-14 16:34:20,976 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:34:20,977 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:34:20,977 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:34:20,977 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:34:20,977 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 137 states. [2019-02-14 16:34:20,979 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 137 states to 137 states and 718 transitions. [2019-02-14 16:34:20,980 INFO L78 Accepts]: Start accepts. Automaton has 137 states and 718 transitions. Word has length 7 [2019-02-14 16:34:20,980 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:34:20,980 INFO L480 AbstractCegarLoop]: Abstraction has 137 states and 718 transitions. [2019-02-14 16:34:20,980 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-14 16:34:20,980 INFO L276 IsEmpty]: Start isEmpty. Operand 137 states and 718 transitions. [2019-02-14 16:34:20,980 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-14 16:34:20,980 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:34:20,980 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-14 16:34:20,980 INFO L423 AbstractCegarLoop]: === Iteration 77 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:34:20,980 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:34:20,981 INFO L82 PathProgramCache]: Analyzing trace with hash -2026986990, now seen corresponding path program 2 times [2019-02-14 16:34:20,981 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:34:20,981 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:34:20,981 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:34:20,981 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:34:20,982 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:34:20,984 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:34:21,253 INFO L273 TraceCheckUtils]: 0: Hoare triple {41692#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {41694#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:34:21,254 INFO L273 TraceCheckUtils]: 1: Hoare triple {41694#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {41695#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:34:21,255 INFO L273 TraceCheckUtils]: 2: Hoare triple {41695#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {41696#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:34:21,256 INFO L273 TraceCheckUtils]: 3: Hoare triple {41696#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2) 1) 0) (not (= ULTIMATE.start_main_p5 ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {41697#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:34:21,257 INFO L273 TraceCheckUtils]: 4: Hoare triple {41697#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {41698#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2019-02-14 16:34:21,257 INFO L273 TraceCheckUtils]: 5: Hoare triple {41698#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume #memory_int[main_p1] >= 0; {41698#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2019-02-14 16:34:21,258 INFO L273 TraceCheckUtils]: 6: Hoare triple {41698#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {41693#false} is VALID [2019-02-14 16:34:21,258 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:34:21,259 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:34:21,259 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:34:21,259 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2019-02-14 16:34:21,259 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2019-02-14 16:34:21,259 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:34:21,259 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 75 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 75 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:34:21,269 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2019-02-14 16:34:21,269 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2019-02-14 16:34:21,275 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2019-02-14 16:34:21,275 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2019-02-14 16:34:21,279 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:34:21,280 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:34:21,297 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 [2019-02-14 16:34:21,305 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 [2019-02-14 16:34:21,317 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:21,318 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-14 16:34:21,336 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:21,338 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:21,338 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-14 16:34:21,357 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:21,362 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:21,363 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:21,364 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 [2019-02-14 16:34:21,370 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:34:21,392 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:34:21,406 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:34:21,418 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:34:21,431 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:34:21,450 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. [2019-02-14 16:34:21,451 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:28, output treesize:35 [2019-02-14 16:34:21,456 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:34:21,457 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_480|, ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_480| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:34:21,457 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:34:21,536 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:21,538 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:21,539 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:21,540 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:21,541 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:21,543 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:21,544 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:21,545 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 [2019-02-14 16:34:21,558 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:34:21,588 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. [2019-02-14 16:34:21,588 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:40, output treesize:30 [2019-02-14 16:34:21,625 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:34:21,625 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_481|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_481| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_481| ULTIMATE.start_main_p3) 0) (= |#memory_int| (store |v_#memory_int_481| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))) (= (select |v_#memory_int_481| ULTIMATE.start_main_p5) 0) (= .cse0 0) (= (select |v_#memory_int_481| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:34:21,625 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:34:21,696 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:21,697 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:21,699 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:21,700 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:21,701 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:21,702 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:21,703 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:21,704 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:34:21,704 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 [2019-02-14 16:34:21,709 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:34:21,742 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. [2019-02-14 16:34:21,743 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:42, output treesize:30 [2019-02-14 16:34:21,762 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:34:21,763 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_482|, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_482| ULTIMATE.start_main_p2))) (and (= 0 (select |v_#memory_int_482| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (store |v_#memory_int_482| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_482| ULTIMATE.start_main_p5)) (= (+ (select |v_#memory_int_482| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:34:21,763 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:34:21,825 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:21,827 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:21,828 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:21,829 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:21,830 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:21,832 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:21,833 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:21,834 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:21,835 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:21,836 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 61 [2019-02-14 16:34:21,841 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:34:21,874 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:34:21,874 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:44, output treesize:34 [2019-02-14 16:34:22,112 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:34:22,112 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_483|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_483| ULTIMATE.start_main_p5))) (and (= 0 (+ (select |v_#memory_int_483| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 .cse0) (= |#memory_int| (store |v_#memory_int_483| ULTIMATE.start_main_p5 (+ .cse0 1))) (= 0 (select |v_#memory_int_483| ULTIMATE.start_main_p3)) (= 0 (+ (select |v_#memory_int_483| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:34:22,112 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-14 16:34:22,177 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:22,178 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:22,180 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:22,181 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:22,182 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:22,183 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:22,184 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:22,185 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:22,186 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:22,187 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:22,187 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:34:22,188 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 75 [2019-02-14 16:34:22,194 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:34:22,231 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:34:22,231 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:44, output treesize:34 [2019-02-14 16:34:22,242 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:34:22,242 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_484|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_484| ULTIMATE.start_main_p3))) (and (= (+ (select |v_#memory_int_484| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |v_#memory_int_484| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store |v_#memory_int_484| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= (+ (select |v_#memory_int_484| ULTIMATE.start_main_p2) 1) 0) (= 0 .cse0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:34:22,243 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-14 16:34:22,298 INFO L273 TraceCheckUtils]: 0: Hoare triple {41692#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {41702#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-14 16:34:22,300 INFO L273 TraceCheckUtils]: 1: Hoare triple {41702#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {41706#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:34:22,301 INFO L273 TraceCheckUtils]: 2: Hoare triple {41706#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {41710#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:34:22,304 INFO L273 TraceCheckUtils]: 3: Hoare triple {41710#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {41714#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:34:22,306 INFO L273 TraceCheckUtils]: 4: Hoare triple {41714#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {41718#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:34:22,307 INFO L273 TraceCheckUtils]: 5: Hoare triple {41718#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {41718#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:34:22,308 INFO L273 TraceCheckUtils]: 6: Hoare triple {41718#(and (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {41693#false} is VALID [2019-02-14 16:34:22,309 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:34:22,309 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:34:22,423 INFO L273 TraceCheckUtils]: 6: Hoare triple {41725#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {41693#false} is VALID [2019-02-14 16:34:22,423 INFO L273 TraceCheckUtils]: 5: Hoare triple {41725#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {41725#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:34:22,424 INFO L273 TraceCheckUtils]: 4: Hoare triple {41732#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {41725#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:34:22,426 INFO L273 TraceCheckUtils]: 3: Hoare triple {41736#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {41732#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:34:22,427 INFO L273 TraceCheckUtils]: 2: Hoare triple {41740#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {41736#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:34:22,429 INFO L273 TraceCheckUtils]: 1: Hoare triple {41744#(<= (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {41740#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:34:22,432 INFO L273 TraceCheckUtils]: 0: Hoare triple {41692#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {41744#(<= (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:34:22,432 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 5 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:34:22,452 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:34:22,452 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 15 [2019-02-14 16:34:22,452 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:34:22,452 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2019-02-14 16:34:22,452 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:34:22,452 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-02-14 16:34:22,472 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:34:22,473 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-02-14 16:34:22,473 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-02-14 16:34:22,473 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=100, Invalid=172, Unknown=0, NotChecked=0, Total=272 [2019-02-14 16:34:22,473 INFO L87 Difference]: Start difference. First operand 137 states and 718 transitions. Second operand 12 states. [2019-02-14 16:34:31,571 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:34:31,571 INFO L93 Difference]: Finished difference Result 178 states and 767 transitions. [2019-02-14 16:34:31,571 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-02-14 16:34:31,571 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2019-02-14 16:34:31,571 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:34:31,571 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-14 16:34:31,572 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 78 transitions. [2019-02-14 16:34:31,572 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-14 16:34:31,572 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 78 transitions. [2019-02-14 16:34:31,572 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 78 transitions. [2019-02-14 16:34:31,682 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:34:31,686 INFO L225 Difference]: With dead ends: 178 [2019-02-14 16:34:31,686 INFO L226 Difference]: Without dead ends: 177 [2019-02-14 16:34:31,686 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 99 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=132, Invalid=248, Unknown=0, NotChecked=0, Total=380 [2019-02-14 16:34:31,687 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 177 states. [2019-02-14 16:34:38,202 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 177 to 123. [2019-02-14 16:34:38,202 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:34:38,202 INFO L82 GeneralOperation]: Start isEquivalent. First operand 177 states. Second operand 123 states. [2019-02-14 16:34:38,202 INFO L74 IsIncluded]: Start isIncluded. First operand 177 states. Second operand 123 states. [2019-02-14 16:34:38,202 INFO L87 Difference]: Start difference. First operand 177 states. Second operand 123 states. [2019-02-14 16:34:38,207 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:34:38,207 INFO L93 Difference]: Finished difference Result 177 states and 764 transitions. [2019-02-14 16:34:38,207 INFO L276 IsEmpty]: Start isEmpty. Operand 177 states and 764 transitions. [2019-02-14 16:34:38,207 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:34:38,208 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:34:38,208 INFO L74 IsIncluded]: Start isIncluded. First operand 123 states. Second operand 177 states. [2019-02-14 16:34:38,208 INFO L87 Difference]: Start difference. First operand 123 states. Second operand 177 states. [2019-02-14 16:34:38,216 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:34:38,216 INFO L93 Difference]: Finished difference Result 177 states and 764 transitions. [2019-02-14 16:34:38,216 INFO L276 IsEmpty]: Start isEmpty. Operand 177 states and 764 transitions. [2019-02-14 16:34:38,217 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:34:38,217 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:34:38,217 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:34:38,217 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:34:38,217 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 123 states. [2019-02-14 16:34:38,220 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 123 states to 123 states and 634 transitions. [2019-02-14 16:34:38,220 INFO L78 Accepts]: Start accepts. Automaton has 123 states and 634 transitions. Word has length 7 [2019-02-14 16:34:38,220 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:34:38,220 INFO L480 AbstractCegarLoop]: Abstraction has 123 states and 634 transitions. [2019-02-14 16:34:38,220 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-02-14 16:34:38,220 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 634 transitions. [2019-02-14 16:34:38,220 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-14 16:34:38,220 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:34:38,220 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-14 16:34:38,220 INFO L423 AbstractCegarLoop]: === Iteration 78 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:34:38,221 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:34:38,221 INFO L82 PathProgramCache]: Analyzing trace with hash -2027404064, now seen corresponding path program 2 times [2019-02-14 16:34:38,221 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:34:38,221 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:34:38,221 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2019-02-14 16:34:38,221 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:34:38,222 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:34:38,223 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:34:38,527 INFO L273 TraceCheckUtils]: 0: Hoare triple {42630#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {42632#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} is VALID [2019-02-14 16:34:38,528 INFO L273 TraceCheckUtils]: 1: Hoare triple {42632#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p4)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {42633#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2019-02-14 16:34:38,529 INFO L273 TraceCheckUtils]: 2: Hoare triple {42633#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {42634#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:34:38,530 INFO L273 TraceCheckUtils]: 3: Hoare triple {42634#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {42634#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:34:38,531 INFO L273 TraceCheckUtils]: 4: Hoare triple {42634#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {42635#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2019-02-14 16:34:38,532 INFO L273 TraceCheckUtils]: 5: Hoare triple {42635#(and (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {42636#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:34:38,532 INFO L273 TraceCheckUtils]: 6: Hoare triple {42636#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {42631#false} is VALID [2019-02-14 16:34:38,532 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-14 16:34:38,533 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:34:38,533 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:34:38,533 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2019-02-14 16:34:38,533 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2019-02-14 16:34:38,533 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:34:38,533 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 76 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 76 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:34:38,542 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2019-02-14 16:34:38,542 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2019-02-14 16:34:38,548 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2019-02-14 16:34:38,548 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2019-02-14 16:34:38,551 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:34:38,551 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:34:38,573 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 [2019-02-14 16:34:38,582 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:38,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, 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 [2019-02-14 16:34:38,595 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:38,597 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:38,597 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 [2019-02-14 16:34:38,616 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:38,618 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:38,619 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:38,620 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 51 [2019-02-14 16:34:38,644 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:38,645 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:38,647 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:38,648 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:38,649 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 10 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 66 [2019-02-14 16:34:38,655 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:34:38,690 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:34:38,706 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:34:38,720 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:34:38,732 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:34:38,752 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. [2019-02-14 16:34:38,753 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-14 16:34:38,759 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:34:38,759 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_489|, ULTIMATE.start_main_p5]. (and (= |#memory_int| (store (store (store (store (store |v_#memory_int_489| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:34:38,760 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:34:38,834 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:38,835 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:38,837 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:38,838 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:38,839 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:38,841 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:38,842 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:38,843 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:38,844 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:38,846 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:38,847 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:38,848 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 66 [2019-02-14 16:34:38,854 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:34:38,899 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:34:38,899 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-14 16:34:38,930 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:34:38,931 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_490|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_490| ULTIMATE.start_main_p4))) (and (= 0 (select |v_#memory_int_490| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_490| ULTIMATE.start_main_p3)) (= 0 .cse0) (= (select |v_#memory_int_490| ULTIMATE.start_main_p5) 0) (= (select |v_#memory_int_490| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_490| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))))) [2019-02-14 16:34:38,931 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:34:39,008 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,009 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,010 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,012 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,013 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,014 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,016 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,017 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,018 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,019 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,021 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,021 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:34:39,022 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 81 [2019-02-14 16:34:39,028 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:34:39,077 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:34:39,077 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:50, output treesize:38 [2019-02-14 16:34:39,088 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:34:39,088 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_491|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_491| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_491| ULTIMATE.start_main_p4) 1) 0) (= 0 (select |v_#memory_int_491| ULTIMATE.start_main_p1)) (= .cse0 0) (= (select |v_#memory_int_491| ULTIMATE.start_main_p5) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_491| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_491| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))))) [2019-02-14 16:34:39,088 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:34:39,167 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,168 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,169 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,170 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,172 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,173 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,174 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,175 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,176 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,177 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,178 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,179 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,180 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,181 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 90 [2019-02-14 16:34:39,188 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:34:39,237 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:34:39,237 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:52, output treesize:42 [2019-02-14 16:34:39,252 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:34:39,252 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_492|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_492| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_492| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_492| ULTIMATE.start_main_p4) 1) 0) (= (select |v_#memory_int_492| ULTIMATE.start_main_p5) 0) (= (store |v_#memory_int_492| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 (+ (select |v_#memory_int_492| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= .cse0 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:34:39,253 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-14 16:34:39,333 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,334 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,335 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,336 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,337 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,338 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,340 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,341 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,342 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,343 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,345 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,346 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,347 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,348 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,349 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:39,350 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:34:39,350 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 40 treesize of output 106 [2019-02-14 16:34:39,358 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:34:39,415 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:34:39,415 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:52, output treesize:42 [2019-02-14 16:34:39,462 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:34:39,463 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_493|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_493| ULTIMATE.start_main_p3))) (and (= (select |v_#memory_int_493| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 .cse0) (= 0 (+ (select |v_#memory_int_493| ULTIMATE.start_main_p2) 1)) (= (select |v_#memory_int_493| ULTIMATE.start_main_p5) 0) (= (+ (select |v_#memory_int_493| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= |#memory_int| (store |v_#memory_int_493| ULTIMATE.start_main_p3 (+ .cse0 1))) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:34:39,463 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-14 16:34:39,537 INFO L273 TraceCheckUtils]: 0: Hoare triple {42630#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {42640#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:34:39,539 INFO L273 TraceCheckUtils]: 1: Hoare triple {42640#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {42644#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:34:39,542 INFO L273 TraceCheckUtils]: 2: Hoare triple {42644#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {42648#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:34:39,544 INFO L273 TraceCheckUtils]: 3: Hoare triple {42648#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {42652#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:34:39,548 INFO L273 TraceCheckUtils]: 4: Hoare triple {42652#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {42656#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:34:39,549 INFO L273 TraceCheckUtils]: 5: Hoare triple {42656#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {42656#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:34:39,550 INFO L273 TraceCheckUtils]: 6: Hoare triple {42656#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {42631#false} is VALID [2019-02-14 16:34:39,551 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:34:39,551 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:34:39,669 INFO L273 TraceCheckUtils]: 6: Hoare triple {42636#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {42631#false} is VALID [2019-02-14 16:34:39,669 INFO L273 TraceCheckUtils]: 5: Hoare triple {42636#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {42636#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:34:39,670 INFO L273 TraceCheckUtils]: 4: Hoare triple {42669#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {42636#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:34:39,672 INFO L273 TraceCheckUtils]: 3: Hoare triple {42673#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {42669#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:34:39,673 INFO L273 TraceCheckUtils]: 2: Hoare triple {42677#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {42673#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:34:39,676 INFO L273 TraceCheckUtils]: 1: Hoare triple {42681#(<= (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {42677#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:34:39,678 INFO L273 TraceCheckUtils]: 0: Hoare triple {42630#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {42681#(<= (select (store (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:34:39,678 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 5 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:34:39,696 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:34:39,696 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 14 [2019-02-14 16:34:39,696 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:34:39,696 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2019-02-14 16:34:39,696 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:34:39,696 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-02-14 16:34:39,723 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:34:39,723 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-02-14 16:34:39,723 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-02-14 16:34:39,723 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=90, Invalid=150, Unknown=0, NotChecked=0, Total=240 [2019-02-14 16:34:39,723 INFO L87 Difference]: Start difference. First operand 123 states and 634 transitions. Second operand 12 states. [2019-02-14 16:34:50,081 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:34:50,082 INFO L93 Difference]: Finished difference Result 204 states and 845 transitions. [2019-02-14 16:34:50,082 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2019-02-14 16:34:50,082 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2019-02-14 16:34:50,082 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:34:50,082 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-14 16:34:50,082 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 93 transitions. [2019-02-14 16:34:50,083 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-14 16:34:50,083 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 93 transitions. [2019-02-14 16:34:50,083 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 93 transitions. [2019-02-14 16:34:50,233 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:34:50,237 INFO L225 Difference]: With dead ends: 204 [2019-02-14 16:34:50,237 INFO L226 Difference]: Without dead ends: 203 [2019-02-14 16:34:50,237 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 21 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 78 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=121, Invalid=221, Unknown=0, NotChecked=0, Total=342 [2019-02-14 16:34:50,238 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 203 states. [2019-02-14 16:34:56,659 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 203 to 126. [2019-02-14 16:34:56,660 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:34:56,660 INFO L82 GeneralOperation]: Start isEquivalent. First operand 203 states. Second operand 126 states. [2019-02-14 16:34:56,660 INFO L74 IsIncluded]: Start isIncluded. First operand 203 states. Second operand 126 states. [2019-02-14 16:34:56,660 INFO L87 Difference]: Start difference. First operand 203 states. Second operand 126 states. [2019-02-14 16:34:56,666 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:34:56,666 INFO L93 Difference]: Finished difference Result 203 states and 840 transitions. [2019-02-14 16:34:56,666 INFO L276 IsEmpty]: Start isEmpty. Operand 203 states and 840 transitions. [2019-02-14 16:34:56,666 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:34:56,666 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:34:56,666 INFO L74 IsIncluded]: Start isIncluded. First operand 126 states. Second operand 203 states. [2019-02-14 16:34:56,666 INFO L87 Difference]: Start difference. First operand 126 states. Second operand 203 states. [2019-02-14 16:34:56,671 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:34:56,671 INFO L93 Difference]: Finished difference Result 203 states and 840 transitions. [2019-02-14 16:34:56,671 INFO L276 IsEmpty]: Start isEmpty. Operand 203 states and 840 transitions. [2019-02-14 16:34:56,671 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:34:56,672 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:34:56,672 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:34:56,672 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:34:56,672 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 126 states. [2019-02-14 16:34:56,674 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 126 states to 126 states and 654 transitions. [2019-02-14 16:34:56,675 INFO L78 Accepts]: Start accepts. Automaton has 126 states and 654 transitions. Word has length 7 [2019-02-14 16:34:56,675 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:34:56,675 INFO L480 AbstractCegarLoop]: Abstraction has 126 states and 654 transitions. [2019-02-14 16:34:56,675 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-02-14 16:34:56,675 INFO L276 IsEmpty]: Start isEmpty. Operand 126 states and 654 transitions. [2019-02-14 16:34:56,675 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-14 16:34:56,675 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:34:56,675 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-14 16:34:56,675 INFO L423 AbstractCegarLoop]: === Iteration 79 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:34:56,675 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:34:56,676 INFO L82 PathProgramCache]: Analyzing trace with hash -2027156062, now seen corresponding path program 1 times [2019-02-14 16:34:56,676 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:34:56,676 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:34:56,676 INFO L101 rtionOrderModulation]: Changing assertion order to NOT_INCREMENTALLY [2019-02-14 16:34:56,676 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:34:56,676 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:34:56,679 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:34:57,421 WARN L181 SmtUtils]: Spent 477.00 ms on a formula simplification. DAG size of input: 28 DAG size of output: 17 [2019-02-14 16:34:57,790 INFO L273 TraceCheckUtils]: 0: Hoare triple {43661#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {43663#(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_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:34:57,791 INFO L273 TraceCheckUtils]: 1: Hoare triple {43663#(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_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {43664#(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 [2019-02-14 16:34:57,791 INFO L273 TraceCheckUtils]: 2: Hoare triple {43664#(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]; {43664#(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 [2019-02-14 16:34:57,792 INFO L273 TraceCheckUtils]: 3: Hoare triple {43664#(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_p3 := #memory_int[main_p3] + 1]; {43665#(and (<= 0 (select |#memory_int| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:34:57,793 INFO L273 TraceCheckUtils]: 4: Hoare triple {43665#(and (<= 0 (select |#memory_int| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)))} assume #memory_int[main_p1] >= 0; {43665#(and (<= 0 (select |#memory_int| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:34:57,793 INFO L273 TraceCheckUtils]: 5: Hoare triple {43665#(and (<= 0 (select |#memory_int| ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)))} assume #memory_int[main_p2] <= 0; {43666#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:34:57,794 INFO L273 TraceCheckUtils]: 6: Hoare triple {43666#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {43662#false} is VALID [2019-02-14 16:34:57,794 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-14 16:34:57,795 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:34:57,795 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:34:57,795 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2019-02-14 16:34:57,795 INFO L207 CegarAbsIntRunner]: [0], [10], [14], [18], [24], [26], [27] [2019-02-14 16:34:57,796 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:34:57,796 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:34:57,807 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:34:57,807 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-14 16:34:57,808 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:34:57,808 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:34:57,808 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:34:57,808 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 77 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 77 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:34:57,816 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:34:57,817 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:34:57,821 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:34:57,824 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:34:57,824 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:34:57,843 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 [2019-02-14 16:34:57,851 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 [2019-02-14 16:34:57,863 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:57,864 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 29 [2019-02-14 16:34:57,938 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:57,939 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:57,940 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 3 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 39 [2019-02-14 16:34:57,959 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:57,964 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:57,965 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:57,966 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 [2019-02-14 16:34:57,972 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:34:57,994 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:34:58,009 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:34:58,021 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:34:58,034 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:34:58,053 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:34:58,053 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:28, output treesize:35 [2019-02-14 16:34:58,059 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:34:58,060 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_498|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (and (= |#memory_int| (store (store (store (store (store |v_#memory_int_498| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:34:58,060 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:34:58,144 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:58,145 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:58,146 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:58,147 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:58,149 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:58,150 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:58,151 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:58,151 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 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 [2019-02-14 16:34:58,157 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:34:58,187 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:34:58,187 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:40, output treesize:30 [2019-02-14 16:34:58,207 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:34:58,207 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_499|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_499| ULTIMATE.start_main_p4))) (and (= (select |v_#memory_int_499| ULTIMATE.start_main_p5) 0) (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_499| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= 0 (select |v_#memory_int_499| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_499| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:34:58,207 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:34:58,264 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:58,266 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:58,267 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:58,268 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:58,269 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:58,271 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:58,272 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:58,272 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:34:58,273 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 [2019-02-14 16:34:58,278 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:34:58,346 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:34:58,346 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:42, output treesize:30 [2019-02-14 16:34:58,362 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:34:58,362 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_500|, ULTIMATE.start_main_p2, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_500| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 .cse0) (= 0 (select |v_#memory_int_500| ULTIMATE.start_main_p3)) (= (+ (select |v_#memory_int_500| ULTIMATE.start_main_p4) 1) 0) (= (select |v_#memory_int_500| ULTIMATE.start_main_p5) 0) (= |#memory_int| (store |v_#memory_int_500| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:34:58,363 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:34:58,424 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:58,426 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:58,427 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:58,428 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:58,429 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:58,430 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:58,432 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:58,433 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:58,434 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:34:58,435 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 9 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 35 treesize of output 69 [2019-02-14 16:34:58,440 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:34:58,475 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:34:58,475 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:44, output treesize:34 [2019-02-14 16:34:58,496 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:34:58,496 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_501|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_501| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_501| ULTIMATE.start_main_p2) 1) 0) (= 0 (select |v_#memory_int_501| ULTIMATE.start_main_p5)) (= 0 .cse0) (= |#memory_int| (store |v_#memory_int_501| ULTIMATE.start_main_p3 (+ .cse0 1))) (= 0 (+ (select |v_#memory_int_501| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:34:58,496 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:34:58,602 INFO L273 TraceCheckUtils]: 0: Hoare triple {43661#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {43670#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-14 16:34:58,603 INFO L273 TraceCheckUtils]: 1: Hoare triple {43670#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {43674#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:34:58,605 INFO L273 TraceCheckUtils]: 2: Hoare triple {43674#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {43678#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:34:58,607 INFO L273 TraceCheckUtils]: 3: Hoare triple {43678#(and (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {43682#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:34:58,608 INFO L273 TraceCheckUtils]: 4: Hoare triple {43682#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {43682#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:34:58,609 INFO L273 TraceCheckUtils]: 5: Hoare triple {43682#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {43682#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:34:58,609 INFO L273 TraceCheckUtils]: 6: Hoare triple {43682#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p2 Int)) (and (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {43662#false} is VALID [2019-02-14 16:34:58,610 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:34:58,610 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:34:58,671 INFO L273 TraceCheckUtils]: 6: Hoare triple {43666#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {43662#false} is VALID [2019-02-14 16:34:58,672 INFO L273 TraceCheckUtils]: 5: Hoare triple {43666#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {43666#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:34:58,672 INFO L273 TraceCheckUtils]: 4: Hoare triple {43666#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {43666#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:34:58,673 INFO L273 TraceCheckUtils]: 3: Hoare triple {43701#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {43666#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:34:58,674 INFO L273 TraceCheckUtils]: 2: Hoare triple {43705#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {43701#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1))} is VALID [2019-02-14 16:34:58,676 INFO L273 TraceCheckUtils]: 1: Hoare triple {43709#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {43705#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1))} is VALID [2019-02-14 16:34:58,678 INFO L273 TraceCheckUtils]: 0: Hoare triple {43661#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {43709#(<= 0 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p3) 1))} is VALID [2019-02-14 16:34:58,678 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:34:58,697 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:34:58,697 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2019-02-14 16:34:58,697 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:34:58,697 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 7 [2019-02-14 16:34:58,697 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:34:58,697 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-14 16:34:58,721 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:34:58,721 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-14 16:34:58,721 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-14 16:34:58,721 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=63, Invalid=93, Unknown=0, NotChecked=0, Total=156 [2019-02-14 16:34:58,722 INFO L87 Difference]: Start difference. First operand 126 states and 654 transitions. Second operand 10 states. [2019-02-14 16:35:08,124 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:35:08,124 INFO L93 Difference]: Finished difference Result 178 states and 835 transitions. [2019-02-14 16:35:08,125 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2019-02-14 16:35:08,125 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 7 [2019-02-14 16:35:08,125 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:35:08,125 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:35:08,125 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 65 transitions. [2019-02-14 16:35:08,125 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:35:08,126 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 65 transitions. [2019-02-14 16:35:08,126 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 65 transitions. [2019-02-14 16:35:08,213 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:35:08,217 INFO L225 Difference]: With dead ends: 178 [2019-02-14 16:35:08,217 INFO L226 Difference]: Without dead ends: 177 [2019-02-14 16:35:08,217 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 5 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 51 ImplicationChecksByTransitivity, 1.2s TimeCoverageRelationStatistics Valid=91, Invalid=149, Unknown=0, NotChecked=0, Total=240 [2019-02-14 16:35:08,217 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 177 states. [2019-02-14 16:35:13,944 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 177 to 108. [2019-02-14 16:35:13,944 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:35:13,945 INFO L82 GeneralOperation]: Start isEquivalent. First operand 177 states. Second operand 108 states. [2019-02-14 16:35:13,945 INFO L74 IsIncluded]: Start isIncluded. First operand 177 states. Second operand 108 states. [2019-02-14 16:35:13,945 INFO L87 Difference]: Start difference. First operand 177 states. Second operand 108 states. [2019-02-14 16:35:13,954 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:35:13,954 INFO L93 Difference]: Finished difference Result 177 states and 833 transitions. [2019-02-14 16:35:13,954 INFO L276 IsEmpty]: Start isEmpty. Operand 177 states and 833 transitions. [2019-02-14 16:35:13,955 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:35:13,955 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:35:13,955 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand 177 states. [2019-02-14 16:35:13,955 INFO L87 Difference]: Start difference. First operand 108 states. Second operand 177 states. [2019-02-14 16:35:13,959 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:35:13,959 INFO L93 Difference]: Finished difference Result 177 states and 833 transitions. [2019-02-14 16:35:13,959 INFO L276 IsEmpty]: Start isEmpty. Operand 177 states and 833 transitions. [2019-02-14 16:35:13,959 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:35:13,960 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:35:13,960 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:35:13,960 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:35:13,960 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 108 states. [2019-02-14 16:35:13,962 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 108 states to 108 states and 546 transitions. [2019-02-14 16:35:13,962 INFO L78 Accepts]: Start accepts. Automaton has 108 states and 546 transitions. Word has length 7 [2019-02-14 16:35:13,962 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:35:13,962 INFO L480 AbstractCegarLoop]: Abstraction has 108 states and 546 transitions. [2019-02-14 16:35:13,962 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-14 16:35:13,962 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 546 transitions. [2019-02-14 16:35:13,962 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-14 16:35:13,962 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:35:13,963 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-14 16:35:13,963 INFO L423 AbstractCegarLoop]: === Iteration 80 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:35:13,963 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:35:13,963 INFO L82 PathProgramCache]: Analyzing trace with hash -2023162082, now seen corresponding path program 1 times [2019-02-14 16:35:13,963 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:35:13,964 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:35:13,964 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:35:13,964 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:35:13,964 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:35:13,966 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:35:14,058 INFO L273 TraceCheckUtils]: 0: Hoare triple {44578#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {44580#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-14 16:35:14,059 INFO L273 TraceCheckUtils]: 1: Hoare triple {44580#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {44581#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p4) 1) 0))} is VALID [2019-02-14 16:35:14,060 INFO L273 TraceCheckUtils]: 2: Hoare triple {44581#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p4) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {44582#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} is VALID [2019-02-14 16:35:14,060 INFO L273 TraceCheckUtils]: 3: Hoare triple {44582#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} assume #memory_int[main_p1] >= 0; {44582#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} is VALID [2019-02-14 16:35:14,061 INFO L273 TraceCheckUtils]: 4: Hoare triple {44582#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} assume #memory_int[main_p2] <= 0; {44582#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} is VALID [2019-02-14 16:35:14,061 INFO L273 TraceCheckUtils]: 5: Hoare triple {44582#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} assume #memory_int[main_p3] >= 0; {44582#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} is VALID [2019-02-14 16:35:14,061 INFO L273 TraceCheckUtils]: 6: Hoare triple {44582#(<= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0)} assume !(#memory_int[main_p4] <= 0); {44579#false} is VALID [2019-02-14 16:35:14,062 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:35:14,062 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:35:14,062 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:35:14,062 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2019-02-14 16:35:14,062 INFO L207 CegarAbsIntRunner]: [0], [14], [18], [24], [26], [28], [29] [2019-02-14 16:35:14,063 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:35:14,063 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:35:14,087 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:35:14,087 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 2 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-14 16:35:14,087 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:35:14,087 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:35:14,087 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:35:14,087 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 78 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 78 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:35:14,095 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:35:14,095 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:35:14,099 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:35:14,102 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:35:14,102 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:35:14,126 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 [2019-02-14 16:35:14,133 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 [2019-02-14 16:35:14,145 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 25 [2019-02-14 16:35:14,161 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:14,162 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 31 [2019-02-14 16:35:14,177 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:14,183 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:14,184 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 38 [2019-02-14 16:35:14,189 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:35:14,206 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:35:14,219 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:35:14,230 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:35:14,242 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:35:14,259 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:35:14,259 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 4 variables, input treesize:25, output treesize:32 [2019-02-14 16:35:14,266 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:35:14,266 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_505|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2, ULTIMATE.start_main_p5]. (and (= (store (store (store (store (store |v_#memory_int_505| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-14 16:35:14,266 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:35:14,324 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:14,325 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:14,326 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:14,328 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:14,328 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 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 [2019-02-14 16:35:14,332 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:35:14,349 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. [2019-02-14 16:35:14,349 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-02-14 16:35:14,357 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:35:14,357 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_506|, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_506| ULTIMATE.start_main_p4))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_506| ULTIMATE.start_main_p5)) (= (store |v_#memory_int_506| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_506| ULTIMATE.start_main_p3)))) [2019-02-14 16:35:14,357 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-14 16:35:14,405 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:14,406 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:14,408 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:14,409 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:14,410 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:14,411 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:14,417 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 [2019-02-14 16:35:14,420 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:35:14,443 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:35:14,443 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-02-14 16:35:14,465 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:35:14,465 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_507|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_507| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_507| ULTIMATE.start_main_p5)) (= .cse0 0) (= 0 (+ (select |v_#memory_int_507| ULTIMATE.start_main_p4) 1)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (store |v_#memory_int_507| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|))) [2019-02-14 16:35:14,465 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p3]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-14 16:35:14,540 INFO L273 TraceCheckUtils]: 0: Hoare triple {44578#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {44586#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-14 16:35:14,541 INFO L273 TraceCheckUtils]: 1: Hoare triple {44586#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {44590#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} is VALID [2019-02-14 16:35:14,542 INFO L273 TraceCheckUtils]: 2: Hoare triple {44590#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {44594#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))))} is VALID [2019-02-14 16:35:14,543 INFO L273 TraceCheckUtils]: 3: Hoare triple {44594#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))))} assume #memory_int[main_p1] >= 0; {44594#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))))} is VALID [2019-02-14 16:35:14,544 INFO L273 TraceCheckUtils]: 4: Hoare triple {44594#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))))} assume #memory_int[main_p2] <= 0; {44594#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))))} is VALID [2019-02-14 16:35:14,545 INFO L273 TraceCheckUtils]: 5: Hoare triple {44594#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))))} assume #memory_int[main_p3] >= 0; {44594#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))))} is VALID [2019-02-14 16:35:14,545 INFO L273 TraceCheckUtils]: 6: Hoare triple {44594#(and (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (exists ((ULTIMATE.start_main_p5 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p3) 1))))} assume !(#memory_int[main_p4] <= 0); {44579#false} is VALID [2019-02-14 16:35:14,546 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:35:14,546 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:35:14,605 INFO L273 TraceCheckUtils]: 6: Hoare triple {44607#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume !(#memory_int[main_p4] <= 0); {44579#false} is VALID [2019-02-14 16:35:14,605 INFO L273 TraceCheckUtils]: 5: Hoare triple {44607#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p3] >= 0; {44607#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2019-02-14 16:35:14,606 INFO L273 TraceCheckUtils]: 4: Hoare triple {44607#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p2] <= 0; {44607#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2019-02-14 16:35:14,606 INFO L273 TraceCheckUtils]: 3: Hoare triple {44607#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} assume #memory_int[main_p1] >= 0; {44607#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2019-02-14 16:35:14,607 INFO L273 TraceCheckUtils]: 2: Hoare triple {44620#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p4) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {44607#(<= (select |#memory_int| ULTIMATE.start_main_p4) 0)} is VALID [2019-02-14 16:35:14,608 INFO L273 TraceCheckUtils]: 1: Hoare triple {44624#(<= (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_p4) 0)} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {44620#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p4) 0)} is VALID [2019-02-14 16:35:14,610 INFO L273 TraceCheckUtils]: 0: Hoare triple {44578#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {44624#(<= (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_p4) 0)} is VALID [2019-02-14 16:35:14,611 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 2 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:35:14,630 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:35:14,631 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 9 [2019-02-14 16:35:14,631 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:35:14,631 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 7 [2019-02-14 16:35:14,631 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:35:14,631 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states. [2019-02-14 16:35:14,650 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:35:14,650 INFO L459 AbstractCegarLoop]: Interpolant automaton has 8 states [2019-02-14 16:35:14,650 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2019-02-14 16:35:14,650 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=65, Unknown=0, NotChecked=0, Total=110 [2019-02-14 16:35:14,650 INFO L87 Difference]: Start difference. First operand 108 states and 546 transitions. Second operand 8 states. [2019-02-14 16:35:23,379 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:35:23,379 INFO L93 Difference]: Finished difference Result 134 states and 591 transitions. [2019-02-14 16:35:23,379 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-14 16:35:23,379 INFO L78 Accepts]: Start accepts. Automaton has 8 states. Word has length 7 [2019-02-14 16:35:23,379 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:35:23,379 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:35:23,380 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2019-02-14 16:35:23,380 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:35:23,380 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 59 transitions. [2019-02-14 16:35:23,380 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 59 transitions. [2019-02-14 16:35:23,447 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:35:23,450 INFO L225 Difference]: With dead ends: 134 [2019-02-14 16:35:23,450 INFO L226 Difference]: Without dead ends: 133 [2019-02-14 16:35:23,451 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 17 GetRequests, 7 SyntacticMatches, 0 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 28 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=53, Invalid=79, Unknown=0, NotChecked=0, Total=132 [2019-02-14 16:35:23,451 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 133 states. [2019-02-14 16:35:29,418 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 133 to 113. [2019-02-14 16:35:29,418 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:35:29,418 INFO L82 GeneralOperation]: Start isEquivalent. First operand 133 states. Second operand 113 states. [2019-02-14 16:35:29,418 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand 113 states. [2019-02-14 16:35:29,419 INFO L87 Difference]: Start difference. First operand 133 states. Second operand 113 states. [2019-02-14 16:35:29,422 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:35:29,423 INFO L93 Difference]: Finished difference Result 133 states and 588 transitions. [2019-02-14 16:35:29,423 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 588 transitions. [2019-02-14 16:35:29,423 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:35:29,423 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:35:29,423 INFO L74 IsIncluded]: Start isIncluded. First operand 113 states. Second operand 133 states. [2019-02-14 16:35:29,423 INFO L87 Difference]: Start difference. First operand 113 states. Second operand 133 states. [2019-02-14 16:35:29,426 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:35:29,426 INFO L93 Difference]: Finished difference Result 133 states and 588 transitions. [2019-02-14 16:35:29,426 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 588 transitions. [2019-02-14 16:35:29,426 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:35:29,427 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:35:29,427 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:35:29,427 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:35:29,427 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 113 states. [2019-02-14 16:35:29,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 113 states to 113 states and 567 transitions. [2019-02-14 16:35:29,429 INFO L78 Accepts]: Start accepts. Automaton has 113 states and 567 transitions. Word has length 7 [2019-02-14 16:35:29,429 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:35:29,429 INFO L480 AbstractCegarLoop]: Abstraction has 113 states and 567 transitions. [2019-02-14 16:35:29,430 INFO L481 AbstractCegarLoop]: Interpolant automaton has 8 states. [2019-02-14 16:35:29,430 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 567 transitions. [2019-02-14 16:35:29,430 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-14 16:35:29,430 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:35:29,430 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-14 16:35:29,430 INFO L423 AbstractCegarLoop]: === Iteration 81 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:35:29,430 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:35:29,430 INFO L82 PathProgramCache]: Analyzing trace with hash -1962747920, now seen corresponding path program 1 times [2019-02-14 16:35:29,430 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:35:29,431 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:35:29,431 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:35:29,431 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:35:29,431 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:35:29,433 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:35:29,641 INFO L273 TraceCheckUtils]: 0: Hoare triple {45325#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {45327#(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)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:35:29,642 INFO L273 TraceCheckUtils]: 1: Hoare triple {45327#(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)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {45328#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:35:29,643 INFO L273 TraceCheckUtils]: 2: Hoare triple {45328#(and (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p4)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {45329#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} is VALID [2019-02-14 16:35:29,644 INFO L273 TraceCheckUtils]: 3: Hoare triple {45329#(and (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3)) (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p3)))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {45330#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-14 16:35:29,645 INFO L273 TraceCheckUtils]: 4: Hoare triple {45330#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p1] >= 0; {45330#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-14 16:35:29,645 INFO L273 TraceCheckUtils]: 5: Hoare triple {45330#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume #memory_int[main_p2] <= 0; {45330#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-14 16:35:29,646 INFO L273 TraceCheckUtils]: 6: Hoare triple {45330#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} assume !(#memory_int[main_p3] >= 0); {45326#false} is VALID [2019-02-14 16:35:29,646 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:35:29,646 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:35:29,647 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:35:29,647 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2019-02-14 16:35:29,647 INFO L207 CegarAbsIntRunner]: [0], [6], [18], [20], [24], [26], [27] [2019-02-14 16:35:29,648 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:35:29,648 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:35:29,658 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:35:29,659 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-14 16:35:29,659 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:35:29,659 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:35:29,659 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:35:29,659 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 79 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 79 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:35:29,669 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:35:29,669 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:35:29,673 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:35:29,676 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:35:29,676 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:35:29,702 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 [2019-02-14 16:35:29,713 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:29,713 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 [2019-02-14 16:35:29,726 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:29,727 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:29,728 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 [2019-02-14 16:35:29,746 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:29,747 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:29,748 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:29,748 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 [2019-02-14 16:35:29,772 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:29,774 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:29,775 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:29,776 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:29,777 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 [2019-02-14 16:35:29,784 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:35:29,814 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:35:29,832 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:35:29,844 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:35:29,856 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:35:29,877 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. [2019-02-14 16:35:29,877 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-14 16:35:29,884 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:35:29,884 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_510|, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_510| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:35:29,884 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:35:29,954 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:29,955 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:29,956 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:29,958 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:29,959 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:29,960 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:29,961 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:29,962 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:29,963 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:29,965 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:29,966 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:29,966 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2019-02-14 16:35:29,973 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:35:30,017 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:35:30,017 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-14 16:35:30,071 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:35:30,071 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_511|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_511| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store |v_#memory_int_511| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_511| ULTIMATE.start_main_p3)) (= 0 (select |v_#memory_int_511| ULTIMATE.start_main_p4)) (= 0 (select |v_#memory_int_511| ULTIMATE.start_main_p2)) (= 0 .cse0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 0 (select |v_#memory_int_511| ULTIMATE.start_main_p1)))) [2019-02-14 16:35:30,071 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:35:30,143 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:30,144 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:30,145 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:30,146 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:30,148 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:30,149 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:30,150 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:30,152 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:30,153 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:30,154 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:30,155 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:30,156 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:30,158 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:30,158 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 78 [2019-02-14 16:35:30,166 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:35:30,219 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:35:30,220 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-14 16:35:30,246 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:35:30,247 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_512|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_512| ULTIMATE.start_main_p4))) (and (= 0 (select |v_#memory_int_512| ULTIMATE.start_main_p1)) (= .cse0 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_512| ULTIMATE.start_main_p5) 1) (= 0 (select |v_#memory_int_512| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_512| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_512| ULTIMATE.start_main_p4 (+ .cse0 (- 1)))))) [2019-02-14 16:35:30,247 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:35:30,320 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:30,321 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:30,322 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:30,323 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:30,324 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:30,326 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:30,327 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:30,328 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:30,329 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:30,330 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:30,331 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:30,332 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:30,333 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:30,334 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:30,335 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:35:30,336 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 38 treesize of output 94 [2019-02-14 16:35:30,342 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:35:30,398 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:35:30,398 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-14 16:35:30,479 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:35:30,479 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_513|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (let ((.cse0 (select |v_#memory_int_513| ULTIMATE.start_main_p1))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (store |v_#memory_int_513| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 1 (select |v_#memory_int_513| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_513| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_513| ULTIMATE.start_main_p3) 0) (= (+ (select |v_#memory_int_513| ULTIMATE.start_main_p4) 1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:35:30,479 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p2]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:35:30,575 INFO L273 TraceCheckUtils]: 0: Hoare triple {45325#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {45334#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-14 16:35:30,577 INFO L273 TraceCheckUtils]: 1: Hoare triple {45334#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {45338#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-14 16:35:30,579 INFO L273 TraceCheckUtils]: 2: Hoare triple {45338#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {45342#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} is VALID [2019-02-14 16:35:30,581 INFO L273 TraceCheckUtils]: 3: Hoare triple {45342#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (exists ((ULTIMATE.start_main_p2 Int)) (and (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {45346#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:35:30,581 INFO L273 TraceCheckUtils]: 4: Hoare triple {45346#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {45346#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:35:30,582 INFO L273 TraceCheckUtils]: 5: Hoare triple {45346#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {45346#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:35:30,583 INFO L273 TraceCheckUtils]: 6: Hoare triple {45346#(and (exists ((ULTIMATE.start_main_p1 Int) (ULTIMATE.start_main_p2 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {45326#false} is VALID [2019-02-14 16:35:30,584 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:35:30,584 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:35:30,667 INFO L273 TraceCheckUtils]: 6: Hoare triple {45356#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {45326#false} is VALID [2019-02-14 16:35:30,668 INFO L273 TraceCheckUtils]: 5: Hoare triple {45356#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {45356#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:35:30,668 INFO L273 TraceCheckUtils]: 4: Hoare triple {45356#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {45356#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:35:30,670 INFO L273 TraceCheckUtils]: 3: Hoare triple {45366#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {45356#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:35:30,671 INFO L273 TraceCheckUtils]: 2: Hoare triple {45370#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {45366#(<= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:35:30,673 INFO L273 TraceCheckUtils]: 1: Hoare triple {45374#(<= 0 (select (store (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 (+ (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)) ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {45370#(<= 0 (select (store (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:35:30,675 INFO L273 TraceCheckUtils]: 0: Hoare triple {45325#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {45374#(<= 0 (select (store (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 (+ (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)) ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:35:30,675 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 2 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:35:30,694 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:35:30,694 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 12 [2019-02-14 16:35:30,694 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:35:30,694 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 7 [2019-02-14 16:35:30,694 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:35:30,694 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-14 16:35:30,718 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:35:30,718 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-14 16:35:30,718 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-14 16:35:30,718 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=68, Invalid=114, Unknown=0, NotChecked=0, Total=182 [2019-02-14 16:35:30,718 INFO L87 Difference]: Start difference. First operand 113 states and 567 transitions. Second operand 10 states. [2019-02-14 16:35:39,949 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:35:39,949 INFO L93 Difference]: Finished difference Result 143 states and 604 transitions. [2019-02-14 16:35:39,949 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2019-02-14 16:35:39,949 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 7 [2019-02-14 16:35:39,949 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:35:39,949 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:35:39,950 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 64 transitions. [2019-02-14 16:35:39,950 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:35:39,950 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 64 transitions. [2019-02-14 16:35:39,950 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 64 transitions. [2019-02-14 16:35:40,058 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:35:40,061 INFO L225 Difference]: With dead ends: 143 [2019-02-14 16:35:40,061 INFO L226 Difference]: Without dead ends: 142 [2019-02-14 16:35:40,061 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 20 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 62 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=101, Invalid=171, Unknown=0, NotChecked=0, Total=272 [2019-02-14 16:35:40,061 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 142 states. [2019-02-14 16:35:46,064 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 142 to 113. [2019-02-14 16:35:46,064 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:35:46,064 INFO L82 GeneralOperation]: Start isEquivalent. First operand 142 states. Second operand 113 states. [2019-02-14 16:35:46,064 INFO L74 IsIncluded]: Start isIncluded. First operand 142 states. Second operand 113 states. [2019-02-14 16:35:46,064 INFO L87 Difference]: Start difference. First operand 142 states. Second operand 113 states. [2019-02-14 16:35:46,068 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:35:46,069 INFO L93 Difference]: Finished difference Result 142 states and 602 transitions. [2019-02-14 16:35:46,069 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 602 transitions. [2019-02-14 16:35:46,069 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:35:46,069 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:35:46,069 INFO L74 IsIncluded]: Start isIncluded. First operand 113 states. Second operand 142 states. [2019-02-14 16:35:46,069 INFO L87 Difference]: Start difference. First operand 113 states. Second operand 142 states. [2019-02-14 16:35:46,072 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:35:46,072 INFO L93 Difference]: Finished difference Result 142 states and 602 transitions. [2019-02-14 16:35:46,072 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 602 transitions. [2019-02-14 16:35:46,073 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:35:46,073 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:35:46,073 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:35:46,073 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:35:46,073 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 113 states. [2019-02-14 16:35:46,075 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 113 states to 113 states and 567 transitions. [2019-02-14 16:35:46,076 INFO L78 Accepts]: Start accepts. Automaton has 113 states and 567 transitions. Word has length 7 [2019-02-14 16:35:46,076 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:35:46,076 INFO L480 AbstractCegarLoop]: Abstraction has 113 states and 567 transitions. [2019-02-14 16:35:46,076 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-14 16:35:46,076 INFO L276 IsEmpty]: Start isEmpty. Operand 113 states and 567 transitions. [2019-02-14 16:35:46,076 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-14 16:35:46,076 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:35:46,076 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-14 16:35:46,076 INFO L423 AbstractCegarLoop]: === Iteration 82 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:35:46,077 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:35:46,077 INFO L82 PathProgramCache]: Analyzing trace with hash -1962509592, now seen corresponding path program 1 times [2019-02-14 16:35:46,077 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:35:46,077 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:35:46,077 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:35:46,078 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:35:46,078 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:35:46,080 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:35:46,901 WARN L181 SmtUtils]: Spent 538.00 ms on a formula simplification. DAG size of input: 27 DAG size of output: 17 [2019-02-14 16:35:47,061 INFO L273 TraceCheckUtils]: 0: Hoare triple {46107#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {46109#(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 [2019-02-14 16:35:47,062 INFO L273 TraceCheckUtils]: 1: Hoare triple {46109#(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]; {46110#(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 [2019-02-14 16:35:47,063 INFO L273 TraceCheckUtils]: 2: Hoare triple {46110#(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]; {46111#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} is VALID [2019-02-14 16:35:47,064 INFO L273 TraceCheckUtils]: 3: Hoare triple {46111#(= (select |#memory_int| ULTIMATE.start_main_p3) 0)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {46112#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:35:47,064 INFO L273 TraceCheckUtils]: 4: Hoare triple {46112#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {46112#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:35:47,064 INFO L273 TraceCheckUtils]: 5: Hoare triple {46112#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {46112#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:35:47,064 INFO L273 TraceCheckUtils]: 6: Hoare triple {46112#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {46108#false} is VALID [2019-02-14 16:35:47,065 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:35:47,065 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:35:47,065 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:35:47,065 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2019-02-14 16:35:47,065 INFO L207 CegarAbsIntRunner]: [0], [14], [18], [20], [24], [26], [27] [2019-02-14 16:35:47,067 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:35:47,067 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:35:47,171 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:35:47,171 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 3 fixpoints after 3 different actions. Largest state had 0 variables. [2019-02-14 16:35:47,172 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:35:47,172 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:35:47,172 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:35:47,172 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 80 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 80 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:35:47,193 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:35:47,193 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:35:47,211 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:35:47,228 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:35:47,228 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:35:47,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 18 treesize of output 21 [2019-02-14 16:35:47,342 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 [2019-02-14 16:35:47,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, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 25 [2019-02-14 16:35:47,372 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:47,372 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 31 [2019-02-14 16:35:47,389 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:47,396 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:47,397 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 3 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 38 [2019-02-14 16:35:47,402 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:35:47,420 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:35:47,432 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:35:47,445 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:35:47,457 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:35:47,474 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:35:47,474 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 3 variables, input treesize:25, output treesize:32 [2019-02-14 16:35:47,479 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:35:47,479 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_517|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_517| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-14 16:35:47,480 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p2]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:35:47,540 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:47,541 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:47,542 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:47,543 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:47,544 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 [2019-02-14 16:35:47,548 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:35:47,566 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. [2019-02-14 16:35:47,567 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 2 variables, input treesize:32, output treesize:22 [2019-02-14 16:35:49,581 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:35:49,581 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_518|, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_518| ULTIMATE.start_main_p5))) (and (= 0 .cse0) (= (store |v_#memory_int_518| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_518| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_518| ULTIMATE.start_main_p4) 0))) [2019-02-14 16:35:49,581 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:35:49,631 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:49,632 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:49,633 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:49,634 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:49,635 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:49,636 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:49,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 0 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 40 [2019-02-14 16:35:49,641 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:35:49,662 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:35:49,663 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:32, output treesize:22 [2019-02-14 16:35:49,669 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:35:49,670 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_519|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_519| ULTIMATE.start_main_p4))) (and (= (store |v_#memory_int_519| ULTIMATE.start_main_p4 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (select |v_#memory_int_519| ULTIMATE.start_main_p5) 1) (= 0 (select |v_#memory_int_519| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) [2019-02-14 16:35:49,670 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p4) (- 1)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-14 16:35:49,716 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:49,718 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:49,719 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:49,720 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:49,721 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:49,722 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:49,723 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:35:49,723 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:35:49,724 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 6 disjoint index pairs (out of 3 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 28 treesize of output 56 [2019-02-14 16:35:49,729 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:35:49,754 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:35:49,755 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:34, output treesize:24 [2019-02-14 16:35:49,761 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:35:49,761 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_520|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_520| ULTIMATE.start_main_p3))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (+ (select |v_#memory_int_520| ULTIMATE.start_main_p4) 1)) (= (store |v_#memory_int_520| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (= 1 (select |v_#memory_int_520| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= .cse0 0))) [2019-02-14 16:35:49,761 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5)) [2019-02-14 16:35:49,825 INFO L273 TraceCheckUtils]: 0: Hoare triple {46107#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {46116#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} is VALID [2019-02-14 16:35:49,827 INFO L273 TraceCheckUtils]: 1: Hoare triple {46116#(and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {46120#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< 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 [2019-02-14 16:35:49,828 INFO L273 TraceCheckUtils]: 2: Hoare triple {46120#(and (exists ((ULTIMATE.start_main_p5 Int)) (and (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))) (< 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]; {46124#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:35:49,830 INFO L273 TraceCheckUtils]: 3: Hoare triple {46124#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {46128#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:35:49,831 INFO L273 TraceCheckUtils]: 4: Hoare triple {46128#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p1] >= 0; {46128#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:35:49,832 INFO L273 TraceCheckUtils]: 5: Hoare triple {46128#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume #memory_int[main_p2] <= 0; {46128#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} is VALID [2019-02-14 16:35:49,832 INFO L273 TraceCheckUtils]: 6: Hoare triple {46128#(and (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |#memory_int| ULTIMATE.start_main_p4) 1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5))))} assume !(#memory_int[main_p3] >= 0); {46108#false} is VALID [2019-02-14 16:35:49,833 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:35:49,833 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:35:49,889 INFO L273 TraceCheckUtils]: 6: Hoare triple {46112#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume !(#memory_int[main_p3] >= 0); {46108#false} is VALID [2019-02-14 16:35:49,889 INFO L273 TraceCheckUtils]: 5: Hoare triple {46112#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p2] <= 0; {46112#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:35:49,890 INFO L273 TraceCheckUtils]: 4: Hoare triple {46112#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} assume #memory_int[main_p1] >= 0; {46112#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:35:49,891 INFO L273 TraceCheckUtils]: 3: Hoare triple {46147#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {46112#(<= 0 (select |#memory_int| ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:35:49,892 INFO L273 TraceCheckUtils]: 2: Hoare triple {46151#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1))} #memory_int := #memory_int[main_p4 := #memory_int[main_p4] - 1]; {46147#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1))} is VALID [2019-02-14 16:35:49,893 INFO L273 TraceCheckUtils]: 1: Hoare triple {46155#(<= 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) 1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {46151#(<= 0 (+ (select (store |#memory_int| ULTIMATE.start_main_p4 (+ (select |#memory_int| ULTIMATE.start_main_p4) (- 1))) ULTIMATE.start_main_p3) 1))} is VALID [2019-02-14 16:35:49,895 INFO L273 TraceCheckUtils]: 0: Hoare triple {46107#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {46155#(<= 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) 1))} is VALID [2019-02-14 16:35:49,896 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 4 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:35:49,915 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:35:49,915 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 11 [2019-02-14 16:35:49,915 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:35:49,915 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 7 [2019-02-14 16:35:49,916 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:35:49,916 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states. [2019-02-14 16:35:49,932 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:35:49,932 INFO L459 AbstractCegarLoop]: Interpolant automaton has 10 states [2019-02-14 16:35:49,932 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2019-02-14 16:35:49,932 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=65, Invalid=91, Unknown=0, NotChecked=0, Total=156 [2019-02-14 16:35:49,932 INFO L87 Difference]: Start difference. First operand 113 states and 567 transitions. Second operand 10 states. [2019-02-14 16:35:57,285 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:35:57,285 INFO L93 Difference]: Finished difference Result 151 states and 642 transitions. [2019-02-14 16:35:57,285 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2019-02-14 16:35:57,285 INFO L78 Accepts]: Start accepts. Automaton has 10 states. Word has length 7 [2019-02-14 16:35:57,285 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:35:57,285 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:35:57,286 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 72 transitions. [2019-02-14 16:35:57,286 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 10 states. [2019-02-14 16:35:57,286 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 72 transitions. [2019-02-14 16:35:57,286 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 72 transitions. [2019-02-14 16:35:57,383 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:35:57,386 INFO L225 Difference]: With dead ends: 151 [2019-02-14 16:35:57,386 INFO L226 Difference]: Without dead ends: 150 [2019-02-14 16:35:57,386 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 5 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 50 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=85, Invalid=125, Unknown=0, NotChecked=0, Total=210 [2019-02-14 16:35:57,386 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 150 states. [2019-02-14 16:36:03,996 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 150 to 121. [2019-02-14 16:36:03,997 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:36:03,997 INFO L82 GeneralOperation]: Start isEquivalent. First operand 150 states. Second operand 121 states. [2019-02-14 16:36:03,997 INFO L74 IsIncluded]: Start isIncluded. First operand 150 states. Second operand 121 states. [2019-02-14 16:36:03,997 INFO L87 Difference]: Start difference. First operand 150 states. Second operand 121 states. [2019-02-14 16:36:04,001 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:36:04,001 INFO L93 Difference]: Finished difference Result 150 states and 640 transitions. [2019-02-14 16:36:04,001 INFO L276 IsEmpty]: Start isEmpty. Operand 150 states and 640 transitions. [2019-02-14 16:36:04,002 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:36:04,002 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:36:04,002 INFO L74 IsIncluded]: Start isIncluded. First operand 121 states. Second operand 150 states. [2019-02-14 16:36:04,002 INFO L87 Difference]: Start difference. First operand 121 states. Second operand 150 states. [2019-02-14 16:36:04,005 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:36:04,005 INFO L93 Difference]: Finished difference Result 150 states and 640 transitions. [2019-02-14 16:36:04,005 INFO L276 IsEmpty]: Start isEmpty. Operand 150 states and 640 transitions. [2019-02-14 16:36:04,006 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:36:04,006 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:36:04,006 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:36:04,006 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:36:04,006 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 121 states. [2019-02-14 16:36:04,008 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 121 states to 121 states and 615 transitions. [2019-02-14 16:36:04,009 INFO L78 Accepts]: Start accepts. Automaton has 121 states and 615 transitions. Word has length 7 [2019-02-14 16:36:04,009 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:36:04,009 INFO L480 AbstractCegarLoop]: Abstraction has 121 states and 615 transitions. [2019-02-14 16:36:04,009 INFO L481 AbstractCegarLoop]: Interpolant automaton has 10 states. [2019-02-14 16:36:04,009 INFO L276 IsEmpty]: Start isEmpty. Operand 121 states and 615 transitions. [2019-02-14 16:36:04,009 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-14 16:36:04,009 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:36:04,009 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-14 16:36:04,009 INFO L423 AbstractCegarLoop]: === Iteration 83 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:36:04,009 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:36:04,010 INFO L82 PathProgramCache]: Analyzing trace with hash -1973605362, now seen corresponding path program 1 times [2019-02-14 16:36:04,010 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:36:04,010 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:36:04,010 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:36:04,010 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:36:04,010 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:36:04,012 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:36:04,262 INFO L273 TraceCheckUtils]: 0: Hoare triple {46932#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {46934#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:36:04,263 INFO L273 TraceCheckUtils]: 1: Hoare triple {46934#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {46935#(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 [2019-02-14 16:36:04,264 INFO L273 TraceCheckUtils]: 2: Hoare triple {46935#(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]; {46935#(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 [2019-02-14 16:36:04,265 INFO L273 TraceCheckUtils]: 3: Hoare triple {46935#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {46936#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2019-02-14 16:36:04,266 INFO L273 TraceCheckUtils]: 4: Hoare triple {46936#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {46937#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2019-02-14 16:36:04,267 INFO L273 TraceCheckUtils]: 5: Hoare triple {46937#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (<= (select |#memory_int| ULTIMATE.start_main_p2) 0))} assume #memory_int[main_p1] >= 0; {46938#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:36:04,267 INFO L273 TraceCheckUtils]: 6: Hoare triple {46938#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {46933#false} is VALID [2019-02-14 16:36:04,267 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-14 16:36:04,268 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:36:04,268 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:36:04,268 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2019-02-14 16:36:04,268 INFO L207 CegarAbsIntRunner]: [0], [6], [10], [14], [20], [24], [25] [2019-02-14 16:36:04,270 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:36:04,270 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:36:04,280 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:36:04,280 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 4 fixpoints after 4 different actions. Largest state had 0 variables. [2019-02-14 16:36:04,280 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:36:04,280 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:36:04,280 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:36:04,281 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 81 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 81 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:36:04,291 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:36:04,291 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:36:04,296 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:36:04,299 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:36:04,300 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:36:04,324 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 [2019-02-14 16:36:04,333 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,333 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 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 [2019-02-14 16:36:04,347 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,348 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,349 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 [2019-02-14 16:36:04,367 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,368 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,369 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,370 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 [2019-02-14 16:36:04,394 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,395 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,397 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,398 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,399 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 [2019-02-14 16:36:04,405 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:36:04,436 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:36:04,454 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:36:04,469 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:36:04,480 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:36:04,505 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. [2019-02-14 16:36:04,505 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-14 16:36:04,517 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:36:04,517 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_524|, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (store (store (store (store (store |v_#memory_int_524| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0) |#memory_int|) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:36:04,517 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:36:04,591 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,592 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,594 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,595 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,596 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,597 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,598 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,600 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,601 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,602 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,603 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,604 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2019-02-14 16:36:04,610 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:36:04,661 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:36:04,661 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-14 16:36:04,676 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:36:04,677 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_525|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_525| ULTIMATE.start_main_p5))) (and (= (select |v_#memory_int_525| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (store |v_#memory_int_525| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_525| ULTIMATE.start_main_p4)) (= (select |v_#memory_int_525| ULTIMATE.start_main_p1) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_525| ULTIMATE.start_main_p2) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:36:04,677 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:36:04,756 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,757 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,758 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,759 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,760 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,761 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,763 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,764 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,765 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,774 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,774 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,775 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,776 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:36:04,776 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 80 [2019-02-14 16:36:04,783 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:36:04,833 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:36:04,833 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:48, output treesize:38 [2019-02-14 16:36:04,850 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:36:04,850 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_526|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_526| ULTIMATE.start_main_p1))) (and (= 0 (select |v_#memory_int_526| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store |v_#memory_int_526| ULTIMATE.start_main_p1 (+ .cse0 1))) (= .cse0 0) (= 0 (select |v_#memory_int_526| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_526| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_526| ULTIMATE.start_main_p5) 1))) [2019-02-14 16:36:04,850 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:36:04,926 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,927 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,928 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,930 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,931 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,932 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,933 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,935 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,936 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,937 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,938 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,940 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:04,940 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:36:04,941 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 80 [2019-02-14 16:36:04,981 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:36:05,324 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:36:05,325 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-14 16:36:05,554 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:36:05,554 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_527|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_527| ULTIMATE.start_main_p3))) (and (= 1 (select |v_#memory_int_527| ULTIMATE.start_main_p1)) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= 0 (select |v_#memory_int_527| ULTIMATE.start_main_p4)) (= (select |v_#memory_int_527| ULTIMATE.start_main_p5) 1) (= |#memory_int| (store |v_#memory_int_527| ULTIMATE.start_main_p3 (+ .cse0 1))) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |v_#memory_int_527| ULTIMATE.start_main_p2) 0))) [2019-02-14 16:36:05,554 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:36:05,648 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:05,649 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:05,650 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:05,652 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:05,653 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:05,654 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:05,655 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:05,657 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:05,658 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:05,659 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:05,660 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:05,662 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:05,663 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:05,664 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 86 [2019-02-14 16:36:05,671 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:36:05,726 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:36:05,726 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:48, output treesize:38 [2019-02-14 16:36:05,760 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:36:05,760 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_528|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_528| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= .cse0 0) (= (select |v_#memory_int_528| ULTIMATE.start_main_p1) 1) (= (select |v_#memory_int_528| ULTIMATE.start_main_p5) 1) (= |#memory_int| (store |v_#memory_int_528| ULTIMATE.start_main_p2 (+ .cse0 (- 1)))) (= (select |v_#memory_int_528| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= 0 (select |v_#memory_int_528| ULTIMATE.start_main_p4)) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) [2019-02-14 16:36:05,760 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:36:05,859 INFO L273 TraceCheckUtils]: 0: Hoare triple {46932#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {46942#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:36:05,860 INFO L273 TraceCheckUtils]: 1: Hoare triple {46942#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {46946#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:36:05,862 INFO L273 TraceCheckUtils]: 2: Hoare triple {46946#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {46950#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} is VALID [2019-02-14 16:36:05,865 INFO L273 TraceCheckUtils]: 3: Hoare triple {46950#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {46954#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:36:05,867 INFO L273 TraceCheckUtils]: 4: Hoare triple {46954#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {46958#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-14 16:36:05,868 INFO L273 TraceCheckUtils]: 5: Hoare triple {46958#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume #memory_int[main_p1] >= 0; {46958#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} is VALID [2019-02-14 16:36:05,868 INFO L273 TraceCheckUtils]: 6: Hoare triple {46958#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))))} assume !(#memory_int[main_p2] <= 0); {46933#false} is VALID [2019-02-14 16:36:05,870 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:36:05,870 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:36:05,982 INFO L273 TraceCheckUtils]: 6: Hoare triple {46938#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {46933#false} is VALID [2019-02-14 16:36:05,983 INFO L273 TraceCheckUtils]: 5: Hoare triple {46938#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {46938#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:36:05,984 INFO L273 TraceCheckUtils]: 4: Hoare triple {46971#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {46938#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:36:05,985 INFO L273 TraceCheckUtils]: 3: Hoare triple {46975#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {46971#(<= (select |#memory_int| ULTIMATE.start_main_p2) 1)} is VALID [2019-02-14 16:36:05,986 INFO L273 TraceCheckUtils]: 2: Hoare triple {46979#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {46975#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2019-02-14 16:36:05,988 INFO L273 TraceCheckUtils]: 1: Hoare triple {46983#(<= (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) 1)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {46979#(<= (select (store (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 1)} is VALID [2019-02-14 16:36:05,990 INFO L273 TraceCheckUtils]: 0: Hoare triple {46932#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {46983#(<= (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) 1)} is VALID [2019-02-14 16:36:05,991 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 2 proven. 8 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:36:06,010 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:36:06,011 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 14 [2019-02-14 16:36:06,011 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:36:06,011 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2019-02-14 16:36:06,011 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:36:06,011 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states. [2019-02-14 16:36:06,036 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:36:06,036 INFO L459 AbstractCegarLoop]: Interpolant automaton has 12 states [2019-02-14 16:36:06,037 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2019-02-14 16:36:06,037 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=89, Invalid=151, Unknown=0, NotChecked=0, Total=240 [2019-02-14 16:36:06,037 INFO L87 Difference]: Start difference. First operand 121 states and 615 transitions. Second operand 12 states. [2019-02-14 16:36:17,970 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:36:17,970 INFO L93 Difference]: Finished difference Result 215 states and 931 transitions. [2019-02-14 16:36:17,971 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2019-02-14 16:36:17,971 INFO L78 Accepts]: Start accepts. Automaton has 12 states. Word has length 7 [2019-02-14 16:36:17,971 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:36:17,971 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-14 16:36:17,971 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 88 transitions. [2019-02-14 16:36:17,971 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2019-02-14 16:36:17,972 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 88 transitions. [2019-02-14 16:36:17,972 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 88 transitions. [2019-02-14 16:36:18,128 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 88 edges. 88 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:36:18,133 INFO L225 Difference]: With dead ends: 215 [2019-02-14 16:36:18,133 INFO L226 Difference]: Without dead ends: 214 [2019-02-14 16:36:18,134 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 3 SyntacticMatches, 1 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 83 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=134, Invalid=246, Unknown=0, NotChecked=0, Total=380 [2019-02-14 16:36:18,134 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 214 states. [2019-02-14 16:36:26,497 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 214 to 142. [2019-02-14 16:36:26,497 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:36:26,497 INFO L82 GeneralOperation]: Start isEquivalent. First operand 214 states. Second operand 142 states. [2019-02-14 16:36:26,497 INFO L74 IsIncluded]: Start isIncluded. First operand 214 states. Second operand 142 states. [2019-02-14 16:36:26,497 INFO L87 Difference]: Start difference. First operand 214 states. Second operand 142 states. [2019-02-14 16:36:26,504 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:36:26,504 INFO L93 Difference]: Finished difference Result 214 states and 928 transitions. [2019-02-14 16:36:26,504 INFO L276 IsEmpty]: Start isEmpty. Operand 214 states and 928 transitions. [2019-02-14 16:36:26,504 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:36:26,504 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:36:26,504 INFO L74 IsIncluded]: Start isIncluded. First operand 142 states. Second operand 214 states. [2019-02-14 16:36:26,504 INFO L87 Difference]: Start difference. First operand 142 states. Second operand 214 states. [2019-02-14 16:36:26,509 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:36:26,509 INFO L93 Difference]: Finished difference Result 214 states and 928 transitions. [2019-02-14 16:36:26,509 INFO L276 IsEmpty]: Start isEmpty. Operand 214 states and 928 transitions. [2019-02-14 16:36:26,510 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:36:26,510 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:36:26,510 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:36:26,510 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:36:26,510 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 142 states. [2019-02-14 16:36:26,513 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 142 states to 142 states and 741 transitions. [2019-02-14 16:36:26,513 INFO L78 Accepts]: Start accepts. Automaton has 142 states and 741 transitions. Word has length 7 [2019-02-14 16:36:26,513 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:36:26,513 INFO L480 AbstractCegarLoop]: Abstraction has 142 states and 741 transitions. [2019-02-14 16:36:26,513 INFO L481 AbstractCegarLoop]: Interpolant automaton has 12 states. [2019-02-14 16:36:26,513 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 741 transitions. [2019-02-14 16:36:26,513 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-14 16:36:26,514 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:36:26,514 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-14 16:36:26,514 INFO L423 AbstractCegarLoop]: === Iteration 84 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:36:26,514 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:36:26,514 INFO L82 PathProgramCache]: Analyzing trace with hash -1956607002, now seen corresponding path program 1 times [2019-02-14 16:36:26,514 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:36:26,514 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:36:26,514 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:36:26,515 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:36:26,515 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:36:26,516 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:36:26,584 INFO L273 TraceCheckUtils]: 0: Hoare triple {48043#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {48045#(= (select |#memory_int| ULTIMATE.start_main_p5) 0)} is VALID [2019-02-14 16:36:26,585 INFO L273 TraceCheckUtils]: 1: Hoare triple {48045#(= (select |#memory_int| ULTIMATE.start_main_p5) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {48046#(<= 1 (select |#memory_int| ULTIMATE.start_main_p5))} is VALID [2019-02-14 16:36:26,586 INFO L273 TraceCheckUtils]: 2: Hoare triple {48046#(<= 1 (select |#memory_int| ULTIMATE.start_main_p5))} assume #memory_int[main_p1] >= 0; {48046#(<= 1 (select |#memory_int| ULTIMATE.start_main_p5))} is VALID [2019-02-14 16:36:26,586 INFO L273 TraceCheckUtils]: 3: Hoare triple {48046#(<= 1 (select |#memory_int| ULTIMATE.start_main_p5))} assume #memory_int[main_p2] <= 0; {48046#(<= 1 (select |#memory_int| ULTIMATE.start_main_p5))} is VALID [2019-02-14 16:36:26,587 INFO L273 TraceCheckUtils]: 4: Hoare triple {48046#(<= 1 (select |#memory_int| ULTIMATE.start_main_p5))} assume #memory_int[main_p3] >= 0; {48046#(<= 1 (select |#memory_int| ULTIMATE.start_main_p5))} is VALID [2019-02-14 16:36:26,587 INFO L273 TraceCheckUtils]: 5: Hoare triple {48046#(<= 1 (select |#memory_int| ULTIMATE.start_main_p5))} assume #memory_int[main_p4] <= 0; {48046#(<= 1 (select |#memory_int| ULTIMATE.start_main_p5))} is VALID [2019-02-14 16:36:26,588 INFO L273 TraceCheckUtils]: 6: Hoare triple {48046#(<= 1 (select |#memory_int| ULTIMATE.start_main_p5))} assume !(#memory_int[main_p5] >= 0); {48044#false} is VALID [2019-02-14 16:36:26,588 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:36:26,589 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:36:26,589 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:36:26,589 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 8 with the following transitions: [2019-02-14 16:36:26,589 INFO L207 CegarAbsIntRunner]: [0], [20], [24], [26], [28], [30], [31] [2019-02-14 16:36:26,590 INFO L148 AbstractInterpreter]: Using domain CompoundDomain [CongruenceDomain, ExplicitValueDomain] [2019-02-14 16:36:26,590 INFO L101 FixpointEngine]: Starting fixpoint engine with domain CompoundDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:36:26,617 INFO L263 AbstractInterpreter]: Some error location(s) were reachable [2019-02-14 16:36:26,617 INFO L272 AbstractInterpreter]: Visited 7 different actions 7 times. Never merged. Never widened. Performed 70 root evaluator evaluations with a maximum evaluation depth of 3. Performed 70 inverse root evaluator evaluations with a maximum inverse evaluation depth of 3. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2019-02-14 16:36:26,617 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:36:26,618 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: Unknown [2019-02-14 16:36:26,618 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:36:26,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 82 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 82 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:36:26,634 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:36:26,634 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: FPandBP) [2019-02-14 16:36:26,652 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:36:26,663 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:36:26,664 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:36:26,770 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 [2019-02-14 16:36:26,805 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 [2019-02-14 16:36:26,814 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 25 [2019-02-14 16:36:26,828 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 27 [2019-02-14 16:36:26,847 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 27 treesize of output 26 [2019-02-14 16:36:26,852 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:36:26,864 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:36:26,877 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:36:26,889 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:36:26,901 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:36:26,914 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:36:26,914 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 5 variables, input treesize:18, output treesize:26 [2019-02-14 16:36:26,922 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:36:26,922 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_533|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (= (store (store (store (store (store |v_#memory_int_533| 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|) [2019-02-14 16:36:26,922 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p2, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4]. (and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (= (select |#memory_int| ULTIMATE.start_main_p4) 0)) [2019-02-14 16:36:27,015 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:27,016 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 16 treesize of output 5 [2019-02-14 16:36:27,017 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:36:27,020 INFO L267 ElimStorePlain]: Start of recursive call 1: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:36:27,020 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 1 variables, input treesize:16, output treesize:5 [2019-02-14 16:36:27,028 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:36:27,028 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_534|]. (let ((.cse0 (select |v_#memory_int_534| ULTIMATE.start_main_p5))) (and (= (store |v_#memory_int_534| ULTIMATE.start_main_p5 (+ .cse0 1)) |#memory_int|) (= .cse0 0))) [2019-02-14 16:36:27,028 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ []. (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) [2019-02-14 16:36:27,042 INFO L273 TraceCheckUtils]: 0: Hoare triple {48043#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {48045#(= (select |#memory_int| ULTIMATE.start_main_p5) 0)} is VALID [2019-02-14 16:36:27,043 INFO L273 TraceCheckUtils]: 1: Hoare triple {48045#(= (select |#memory_int| ULTIMATE.start_main_p5) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {48053#(= 1 (select |#memory_int| ULTIMATE.start_main_p5))} is VALID [2019-02-14 16:36:27,044 INFO L273 TraceCheckUtils]: 2: Hoare triple {48053#(= 1 (select |#memory_int| ULTIMATE.start_main_p5))} assume #memory_int[main_p1] >= 0; {48053#(= 1 (select |#memory_int| ULTIMATE.start_main_p5))} is VALID [2019-02-14 16:36:27,044 INFO L273 TraceCheckUtils]: 3: Hoare triple {48053#(= 1 (select |#memory_int| ULTIMATE.start_main_p5))} assume #memory_int[main_p2] <= 0; {48053#(= 1 (select |#memory_int| ULTIMATE.start_main_p5))} is VALID [2019-02-14 16:36:27,045 INFO L273 TraceCheckUtils]: 4: Hoare triple {48053#(= 1 (select |#memory_int| ULTIMATE.start_main_p5))} assume #memory_int[main_p3] >= 0; {48053#(= 1 (select |#memory_int| ULTIMATE.start_main_p5))} is VALID [2019-02-14 16:36:27,045 INFO L273 TraceCheckUtils]: 5: Hoare triple {48053#(= 1 (select |#memory_int| ULTIMATE.start_main_p5))} assume #memory_int[main_p4] <= 0; {48053#(= 1 (select |#memory_int| ULTIMATE.start_main_p5))} is VALID [2019-02-14 16:36:27,046 INFO L273 TraceCheckUtils]: 6: Hoare triple {48053#(= 1 (select |#memory_int| ULTIMATE.start_main_p5))} assume !(#memory_int[main_p5] >= 0); {48044#false} is VALID [2019-02-14 16:36:27,046 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:36:27,046 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:36:27,078 INFO L273 TraceCheckUtils]: 6: Hoare triple {48069#(<= 0 (select |#memory_int| ULTIMATE.start_main_p5))} assume !(#memory_int[main_p5] >= 0); {48044#false} is VALID [2019-02-14 16:36:27,078 INFO L273 TraceCheckUtils]: 5: Hoare triple {48069#(<= 0 (select |#memory_int| ULTIMATE.start_main_p5))} assume #memory_int[main_p4] <= 0; {48069#(<= 0 (select |#memory_int| ULTIMATE.start_main_p5))} is VALID [2019-02-14 16:36:27,079 INFO L273 TraceCheckUtils]: 4: Hoare triple {48069#(<= 0 (select |#memory_int| ULTIMATE.start_main_p5))} assume #memory_int[main_p3] >= 0; {48069#(<= 0 (select |#memory_int| ULTIMATE.start_main_p5))} is VALID [2019-02-14 16:36:27,079 INFO L273 TraceCheckUtils]: 3: Hoare triple {48069#(<= 0 (select |#memory_int| ULTIMATE.start_main_p5))} assume #memory_int[main_p2] <= 0; {48069#(<= 0 (select |#memory_int| ULTIMATE.start_main_p5))} is VALID [2019-02-14 16:36:27,080 INFO L273 TraceCheckUtils]: 2: Hoare triple {48069#(<= 0 (select |#memory_int| ULTIMATE.start_main_p5))} assume #memory_int[main_p1] >= 0; {48069#(<= 0 (select |#memory_int| ULTIMATE.start_main_p5))} is VALID [2019-02-14 16:36:27,081 INFO L273 TraceCheckUtils]: 1: Hoare triple {48085#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {48069#(<= 0 (select |#memory_int| ULTIMATE.start_main_p5))} is VALID [2019-02-14 16:36:27,083 INFO L273 TraceCheckUtils]: 0: Hoare triple {48043#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {48085#(<= 0 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1))} is VALID [2019-02-14 16:36:27,083 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:36:27,103 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 2 imperfect interpolant sequences. [2019-02-14 16:36:27,103 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [2, 2] total 5 [2019-02-14 16:36:27,103 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-02-14 16:36:27,103 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 7 [2019-02-14 16:36:27,103 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:36:27,103 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2019-02-14 16:36:27,110 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 7 edges. 7 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:36:27,110 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2019-02-14 16:36:27,110 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2019-02-14 16:36:27,110 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=23, Unknown=0, NotChecked=0, Total=42 [2019-02-14 16:36:27,111 INFO L87 Difference]: Start difference. First operand 142 states and 741 transitions. Second operand 4 states. [2019-02-14 16:36:43,156 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:36:43,156 INFO L93 Difference]: Finished difference Result 280 states and 1413 transitions. [2019-02-14 16:36:43,156 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2019-02-14 16:36:43,156 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 7 [2019-02-14 16:36:43,156 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:36:43,156 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-02-14 16:36:43,157 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 43 transitions. [2019-02-14 16:36:43,157 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-02-14 16:36:43,157 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 43 transitions. [2019-02-14 16:36:43,157 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 43 transitions. [2019-02-14 16:36:43,196 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:36:43,203 INFO L225 Difference]: With dead ends: 280 [2019-02-14 16:36:43,203 INFO L226 Difference]: Without dead ends: 275 [2019-02-14 16:36:43,203 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 14 GetRequests, 8 SyntacticMatches, 1 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=19, Invalid=23, Unknown=0, NotChecked=0, Total=42 [2019-02-14 16:36:43,203 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 275 states. [2019-02-14 16:36:51,528 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 275 to 252. [2019-02-14 16:36:51,529 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:36:51,529 INFO L82 GeneralOperation]: Start isEquivalent. First operand 275 states. Second operand 252 states. [2019-02-14 16:36:51,529 INFO L74 IsIncluded]: Start isIncluded. First operand 275 states. Second operand 252 states. [2019-02-14 16:36:51,529 INFO L87 Difference]: Start difference. First operand 275 states. Second operand 252 states. [2019-02-14 16:36:51,537 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:36:51,537 INFO L93 Difference]: Finished difference Result 275 states and 1397 transitions. [2019-02-14 16:36:51,537 INFO L276 IsEmpty]: Start isEmpty. Operand 275 states and 1397 transitions. [2019-02-14 16:36:51,537 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:36:51,537 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:36:51,537 INFO L74 IsIncluded]: Start isIncluded. First operand 252 states. Second operand 275 states. [2019-02-14 16:36:51,538 INFO L87 Difference]: Start difference. First operand 252 states. Second operand 275 states. [2019-02-14 16:36:51,544 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:36:51,544 INFO L93 Difference]: Finished difference Result 275 states and 1397 transitions. [2019-02-14 16:36:51,544 INFO L276 IsEmpty]: Start isEmpty. Operand 275 states and 1397 transitions. [2019-02-14 16:36:51,545 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:36:51,545 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:36:51,545 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:36:51,545 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:36:51,545 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 252 states. [2019-02-14 16:36:51,551 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 252 states to 252 states and 1379 transitions. [2019-02-14 16:36:51,551 INFO L78 Accepts]: Start accepts. Automaton has 252 states and 1379 transitions. Word has length 7 [2019-02-14 16:36:51,551 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:36:51,551 INFO L480 AbstractCegarLoop]: Abstraction has 252 states and 1379 transitions. [2019-02-14 16:36:51,551 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2019-02-14 16:36:51,551 INFO L276 IsEmpty]: Start isEmpty. Operand 252 states and 1379 transitions. [2019-02-14 16:36:51,552 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2019-02-14 16:36:51,552 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:36:51,552 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2019-02-14 16:36:51,552 INFO L423 AbstractCegarLoop]: === Iteration 85 === [ULTIMATE.startErr3ASSERT_VIOLATIONASSERT, ULTIMATE.startErr4ASSERT_VIOLATIONASSERT, ULTIMATE.startErr2ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT, ULTIMATE.startErr1ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:36:51,552 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:36:51,552 INFO L82 PathProgramCache]: Analyzing trace with hash -1970145762, now seen corresponding path program 2 times [2019-02-14 16:36:51,552 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:36:51,553 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:36:51,553 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:36:51,553 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:36:51,553 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:36:51,555 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:36:51,904 INFO L273 TraceCheckUtils]: 0: Hoare triple {49622#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {49624#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} is VALID [2019-02-14 16:36:51,905 INFO L273 TraceCheckUtils]: 1: Hoare triple {49624#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p5)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= 0 (select (store |#memory_int| ULTIMATE.start_main_p5 (+ (select |#memory_int| ULTIMATE.start_main_p5) 1)) ULTIMATE.start_main_p2)))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {49625#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} is VALID [2019-02-14 16:36:51,906 INFO L273 TraceCheckUtils]: 2: Hoare triple {49625#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p2) 0))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {49626#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:36:51,907 INFO L273 TraceCheckUtils]: 3: Hoare triple {49626#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {49626#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:36:51,908 INFO L273 TraceCheckUtils]: 4: Hoare triple {49626#(and (not (= ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) (not (= ULTIMATE.start_main_p3 ULTIMATE.start_main_p2)) (<= (+ (select (store |#memory_int| ULTIMATE.start_main_p1 (+ (select |#memory_int| ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {49627#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2019-02-14 16:36:51,909 INFO L273 TraceCheckUtils]: 5: Hoare triple {49627#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume #memory_int[main_p1] >= 0; {49627#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} is VALID [2019-02-14 16:36:51,909 INFO L273 TraceCheckUtils]: 6: Hoare triple {49627#(<= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)} assume !(#memory_int[main_p2] <= 0); {49623#false} is VALID [2019-02-14 16:36:51,910 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2019-02-14 16:36:51,910 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:36:51,910 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:36:51,910 INFO L189 CegarAbsIntRunner]: Skipping current iteration for AI because we have already analyzed this path program [2019-02-14 16:36:51,911 INFO L422 seRefinementStrategy]: Interpolation failed due to KNOWN_IGNORE: AbsInt can only provide a hoare triple checker if it generated fixpoints [2019-02-14 16:36:51,911 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:36:51,911 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode Z3_IG No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 83 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 83 with z3 -smt2 -in SMTLIB2_COMPLIANT=true -t:12000 [2019-02-14 16:36:51,922 INFO L103 rtionOrderModulation]: Keeping assertion order OUTSIDE_LOOP_FIRST2 [2019-02-14 16:36:51,922 INFO L289 anRefinementStrategy]: Using traceCheck mode Z3_IG with AssertCodeBlockOrder OUTSIDE_LOOP_FIRST2 (IT: FPandBP) [2019-02-14 16:36:51,928 INFO L249 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2019-02-14 16:36:51,928 INFO L250 tOrderPrioritization]: Conjunction of SSA is unsat [2019-02-14 16:36:51,931 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:36:51,931 INFO L273 TraceCheckSpWp]: Computing forward predicates... [2019-02-14 16:36:51,947 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 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 [2019-02-14 16:36:51,953 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:51,953 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 21 treesize of output 27 [2019-02-14 16:36:51,963 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:51,964 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:51,965 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 37 [2019-02-14 16:36:51,977 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:51,978 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:51,979 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:51,980 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 [2019-02-14 16:36:51,996 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:51,997 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:51,999 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:52,000 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:52,001 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 [2019-02-14 16:36:52,003 INFO L267 ElimStorePlain]: Start of recursive call 6: End of recursive call: and 1 xjuncts. [2019-02-14 16:36:52,032 INFO L267 ElimStorePlain]: Start of recursive call 5: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:36:52,048 INFO L267 ElimStorePlain]: Start of recursive call 4: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:36:52,060 INFO L267 ElimStorePlain]: Start of recursive call 3: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:36:52,070 INFO L267 ElimStorePlain]: Start of recursive call 2: 1 dim-1 vars, End of recursive call: and 1 xjuncts. [2019-02-14 16:36:52,092 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. [2019-02-14 16:36:52,092 INFO L202 ElimStorePlain]: Needed 6 recursive calls to eliminate 2 variables, input treesize:31, output treesize:38 [2019-02-14 16:36:52,097 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:36:52,098 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_536|, ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= |#memory_int| (store (store (store (store (store |v_#memory_int_536| ULTIMATE.start_main_p1 0) ULTIMATE.start_main_p2 0) ULTIMATE.start_main_p3 0) ULTIMATE.start_main_p4 0) ULTIMATE.start_main_p5 0)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:36:52,098 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3)) [2019-02-14 16:36:52,152 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:52,153 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:52,155 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:52,156 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:52,157 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:52,159 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:52,160 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:52,161 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:52,163 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:52,164 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:52,165 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:52,166 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 11 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 72 [2019-02-14 16:36:52,169 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:36:52,212 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:36:52,212 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-14 16:36:53,361 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:36:53,361 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_537|, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_537| ULTIMATE.start_main_p5))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 (select |v_#memory_int_537| ULTIMATE.start_main_p1)) (= (select |v_#memory_int_537| ULTIMATE.start_main_p2) 0) (= (select |v_#memory_int_537| ULTIMATE.start_main_p3) 0) (= (select |v_#memory_int_537| ULTIMATE.start_main_p4) 0) (= .cse0 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= |#memory_int| (store |v_#memory_int_537| ULTIMATE.start_main_p5 (+ .cse0 1))))) [2019-02-14 16:36:53,361 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:36:53,426 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,428 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,429 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,430 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,431 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,432 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,433 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,435 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,436 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,437 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,438 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,439 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,440 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,441 INFO L478 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 5 select indices, 5 select index equivalence classes, 13 disjoint index pairs (out of 10 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 36 treesize of output 86 [2019-02-14 16:36:53,444 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:36:53,494 INFO L267 ElimStorePlain]: Start of recursive call 1: 2 dim-0 vars, 1 dim-1 vars, End of recursive call: 2 dim-0 vars, and 1 xjuncts. [2019-02-14 16:36:53,495 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 3 variables, input treesize:48, output treesize:38 [2019-02-14 16:36:53,504 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:36:53,504 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_538|, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (let ((.cse0 (select |v_#memory_int_538| ULTIMATE.start_main_p2))) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 0 .cse0) (= (select |v_#memory_int_538| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |v_#memory_int_538| ULTIMATE.start_main_p3) 0) (= (store |v_#memory_int_538| ULTIMATE.start_main_p2 (+ .cse0 (- 1))) |#memory_int|) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= 1 (select |v_#memory_int_538| ULTIMATE.start_main_p5)) (= (select |v_#memory_int_538| ULTIMATE.start_main_p1) 0))) [2019-02-14 16:36:53,504 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (- 1) (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2)) [2019-02-14 16:36:53,559 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,560 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,561 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,562 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,563 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,565 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,566 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,567 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,568 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,569 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,570 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,571 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,572 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,573 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,574 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:36:53,575 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 [2019-02-14 16:36:53,578 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:36:53,631 INFO L267 ElimStorePlain]: Start of recursive call 1: 3 dim-0 vars, 1 dim-1 vars, End of recursive call: 3 dim-0 vars, and 1 xjuncts. [2019-02-14 16:36:53,632 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 4 variables, input treesize:50, output treesize:40 [2019-02-14 16:36:53,656 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:36:53,656 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_539|, ULTIMATE.start_main_p1, ULTIMATE.start_main_p5, ULTIMATE.start_main_p4]. (let ((.cse0 (select |v_#memory_int_539| ULTIMATE.start_main_p1))) (and (= (select |v_#memory_int_539| ULTIMATE.start_main_p5) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (+ (select |v_#memory_int_539| ULTIMATE.start_main_p2) 1) 0) (= (store |v_#memory_int_539| ULTIMATE.start_main_p1 (+ .cse0 1)) |#memory_int|) (= 0 (select |v_#memory_int_539| ULTIMATE.start_main_p4)) (= 0 .cse0) (= 0 (select |v_#memory_int_539| ULTIMATE.start_main_p3)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:36:53,656 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-14 16:36:53,713 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,714 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,715 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,716 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,717 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,719 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,720 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,721 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,722 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,723 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,725 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,726 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,727 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,728 INFO L701 Elim1Store]: detected not equals via solver [2019-02-14 16:36:53,728 INFO L683 Elim1Store]: detected equality via solver [2019-02-14 16:36:53,729 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 [2019-02-14 16:36:53,733 INFO L267 ElimStorePlain]: Start of recursive call 2: End of recursive call: and 1 xjuncts. [2019-02-14 16:36:53,797 INFO L267 ElimStorePlain]: Start of recursive call 1: 4 dim-0 vars, 1 dim-1 vars, End of recursive call: 4 dim-0 vars, and 1 xjuncts. [2019-02-14 16:36:53,797 INFO L202 ElimStorePlain]: Needed 2 recursive calls to eliminate 5 variables, input treesize:50, output treesize:40 [2019-02-14 16:36:53,820 WARN L397 uantifierElimination]: Trying to double check SDD result, but SMT solver's response was UNKNOWN. [2019-02-14 16:36:53,820 WARN L398 uantifierElimination]: Input elimination task: ∃ [|v_#memory_int_540|, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5, ULTIMATE.start_main_p1]. (let ((.cse0 (select |v_#memory_int_540| ULTIMATE.start_main_p3))) (and (= (store |v_#memory_int_540| ULTIMATE.start_main_p3 (+ .cse0 1)) |#memory_int|) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= (select |v_#memory_int_540| ULTIMATE.start_main_p5) 1) (= 0 (select |v_#memory_int_540| ULTIMATE.start_main_p4)) (= 0 (+ (select |v_#memory_int_540| ULTIMATE.start_main_p2) 1)) (= .cse0 0) (= (select |v_#memory_int_540| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3))) [2019-02-14 16:36:53,820 WARN L399 uantifierElimination]: ElimStorePlain result: ∃ [ULTIMATE.start_main_p1, ULTIMATE.start_main_p3, ULTIMATE.start_main_p4, ULTIMATE.start_main_p5]. (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (= (select |#memory_int| ULTIMATE.start_main_p4) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0)) [2019-02-14 16:36:53,879 INFO L273 TraceCheckUtils]: 0: Hoare triple {49622#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {49631#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:36:53,881 INFO L273 TraceCheckUtils]: 1: Hoare triple {49631#(and (= 0 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (exists ((ULTIMATE.start_main_p4 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {49635#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:36:53,883 INFO L273 TraceCheckUtils]: 2: Hoare triple {49635#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (select |#memory_int| ULTIMATE.start_main_p2)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {49639#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} is VALID [2019-02-14 16:36:53,885 INFO L273 TraceCheckUtils]: 3: Hoare triple {49639#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (= 0 (+ (select |#memory_int| ULTIMATE.start_main_p2) 1)) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {49643#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:36:53,888 INFO L273 TraceCheckUtils]: 4: Hoare triple {49643#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (= (select |#memory_int| ULTIMATE.start_main_p3) 0) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} #memory_int := #memory_int[main_p3 := #memory_int[main_p3] + 1]; {49647#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:36:53,889 INFO L273 TraceCheckUtils]: 5: Hoare triple {49647#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume #memory_int[main_p1] >= 0; {49647#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} is VALID [2019-02-14 16:36:53,889 INFO L273 TraceCheckUtils]: 6: Hoare triple {49647#(and (exists ((ULTIMATE.start_main_p1 Int)) (and (= (select |#memory_int| ULTIMATE.start_main_p1) 1) (< ULTIMATE.start_main_p1 ULTIMATE.start_main_p2))) (exists ((ULTIMATE.start_main_p4 Int) (ULTIMATE.start_main_p5 Int) (ULTIMATE.start_main_p3 Int)) (and (< ULTIMATE.start_main_p3 ULTIMATE.start_main_p4) (= 1 (select |#memory_int| ULTIMATE.start_main_p5)) (= (select |#memory_int| ULTIMATE.start_main_p3) 1) (< ULTIMATE.start_main_p4 ULTIMATE.start_main_p5) (< ULTIMATE.start_main_p2 ULTIMATE.start_main_p3) (= (select |#memory_int| ULTIMATE.start_main_p4) 0))) (= (+ (select |#memory_int| ULTIMATE.start_main_p2) 1) 0))} assume !(#memory_int[main_p2] <= 0); {49623#false} is VALID [2019-02-14 16:36:53,890 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:36:53,890 INFO L316 TraceCheckSpWp]: Computing backward predicates... [2019-02-14 16:36:53,995 INFO L273 TraceCheckUtils]: 6: Hoare triple {49654#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume !(#memory_int[main_p2] <= 0); {49623#false} is VALID [2019-02-14 16:36:53,995 INFO L273 TraceCheckUtils]: 5: Hoare triple {49654#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} assume #memory_int[main_p1] >= 0; {49654#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:36:53,996 INFO L273 TraceCheckUtils]: 4: Hoare triple {49661#(<= (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]; {49654#(<= (select |#memory_int| ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:36:53,998 INFO L273 TraceCheckUtils]: 3: Hoare triple {49665#(<= (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]; {49661#(<= (select (store |#memory_int| ULTIMATE.start_main_p3 (+ (select |#memory_int| ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:36:53,999 INFO L273 TraceCheckUtils]: 2: Hoare triple {49669#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; {49665#(<= (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 [2019-02-14 16:36:54,001 INFO L273 TraceCheckUtils]: 1: Hoare triple {49673#(<= (select (store (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p2) 0)} #memory_int := #memory_int[main_p5 := #memory_int[main_p5] + 1]; {49669#(<= (select (store (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3 (+ (select (store (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1 (+ (select (store |#memory_int| ULTIMATE.start_main_p2 (+ (select |#memory_int| ULTIMATE.start_main_p2) (- 1))) ULTIMATE.start_main_p1) 1)) ULTIMATE.start_main_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:36:54,004 INFO L273 TraceCheckUtils]: 0: Hoare triple {49622#true} havoc main_p1, main_p2, main_p3, main_p4, main_p5;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p3 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p4 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p5 := malloc_ptr;assume main_p1 < main_p2;assume main_p2 < main_p3;assume main_p3 < main_p4;assume main_p4 < main_p5;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0];#memory_int := #memory_int[main_p3 := 0];#memory_int := #memory_int[main_p4 := 0];#memory_int := #memory_int[main_p5 := 0]; {49673#(<= (select (store (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_p3 (+ (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_p3) 1)) ULTIMATE.start_main_p2) 0)} is VALID [2019-02-14 16:36:54,004 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 3 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2019-02-14 16:36:54,024 INFO L312 seRefinementStrategy]: Constructing automaton from 0 perfect and 3 imperfect interpolant sequences. [2019-02-14 16:36:54,024 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 5, 5] total 14 [2019-02-14 16:36:54,024 INFO L250 anRefinementStrategy]: Using the first two imperfect interpolant sequences [2019-02-14 16:36:54,024 INFO L78 Accepts]: Start accepts. Automaton has 11 states. Word has length 7 [2019-02-14 16:36:54,024 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:36:54,024 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states. [2019-02-14 16:36:54,052 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 14 edges. 14 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:36:54,052 INFO L459 AbstractCegarLoop]: Interpolant automaton has 11 states [2019-02-14 16:36:54,052 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2019-02-14 16:36:54,052 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=86, Invalid=154, Unknown=0, NotChecked=0, Total=240 [2019-02-14 16:36:54,052 INFO L87 Difference]: Start difference. First operand 252 states and 1379 transitions. Second operand 11 states.