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_array_oct.epf -i ../../../trunk/examples/programs/heapseparator/speedup-poc-dd-2-limited.bpl -------------------------------------------------------------------------------- This is Ultimate 0.1.24-1de736e-m [2019-02-14 16:50:54,442 INFO L170 SettingsManager]: Resetting all preferences to default values... [2019-02-14 16:50:54,444 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2019-02-14 16:50:54,456 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2019-02-14 16:50:54,456 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2019-02-14 16:50:54,457 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2019-02-14 16:50:54,458 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2019-02-14 16:50:54,460 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2019-02-14 16:50:54,462 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2019-02-14 16:50:54,462 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2019-02-14 16:50:54,463 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2019-02-14 16:50:54,464 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2019-02-14 16:50:54,464 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2019-02-14 16:50:54,465 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2019-02-14 16:50:54,467 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2019-02-14 16:50:54,467 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2019-02-14 16:50:54,468 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2019-02-14 16:50:54,470 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2019-02-14 16:50:54,472 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2019-02-14 16:50:54,474 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2019-02-14 16:50:54,475 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2019-02-14 16:50:54,476 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2019-02-14 16:50:54,479 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2019-02-14 16:50:54,479 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2019-02-14 16:50:54,480 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2019-02-14 16:50:54,481 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2019-02-14 16:50:54,482 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2019-02-14 16:50:54,483 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2019-02-14 16:50:54,483 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2019-02-14 16:50:54,485 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2019-02-14 16:50:54,485 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2019-02-14 16:50:54,486 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2019-02-14 16:50:54,486 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2019-02-14 16:50:54,486 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2019-02-14 16:50:54,487 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2019-02-14 16:50:54,488 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2019-02-14 16:50:54,488 INFO L98 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/ai/array-bench/reach_32bit_array_oct.epf [2019-02-14 16:50:54,501 INFO L110 SettingsManager]: Loading preferences was successful [2019-02-14 16:50:54,501 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2019-02-14 16:50:54,502 INFO L131 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2019-02-14 16:50:54,502 INFO L133 SettingsManager]: * Show backtranslation warnings=false [2019-02-14 16:50:54,503 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2019-02-14 16:50:54,503 INFO L133 SettingsManager]: * User list type=DISABLED [2019-02-14 16:50:54,503 INFO L133 SettingsManager]: * Inline calls to unimplemented procedures=true [2019-02-14 16:50:54,503 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2019-02-14 16:50:54,503 INFO L133 SettingsManager]: * Abstract domain for RCFG-of-the-future=PoormanAbstractDomain [2019-02-14 16:50:54,504 INFO L133 SettingsManager]: * Underlying domain=OctagonDomain [2019-02-14 16:50:54,504 INFO L133 SettingsManager]: * Abstract domain=ArrayDomain [2019-02-14 16:50:54,504 INFO L133 SettingsManager]: * Check feasibility of abstract posts with an SMT solver=true [2019-02-14 16:50:54,504 INFO L133 SettingsManager]: * Interval Domain=false [2019-02-14 16:50:54,505 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2019-02-14 16:50:54,505 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2019-02-14 16:50:54,505 INFO L133 SettingsManager]: * Use SBE=true [2019-02-14 16:50:54,506 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2019-02-14 16:50:54,506 INFO L133 SettingsManager]: * sizeof long=4 [2019-02-14 16:50:54,506 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2019-02-14 16:50:54,506 INFO L133 SettingsManager]: * sizeof POINTER=4 [2019-02-14 16:50:54,506 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2019-02-14 16:50:54,506 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2019-02-14 16:50:54,507 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2019-02-14 16:50:54,507 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2019-02-14 16:50:54,507 INFO L133 SettingsManager]: * sizeof long double=12 [2019-02-14 16:50:54,507 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2019-02-14 16:50:54,508 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2019-02-14 16:50:54,508 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2019-02-14 16:50:54,508 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2019-02-14 16:50:54,508 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2019-02-14 16:50:54,508 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2019-02-14 16:50:54,509 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2019-02-14 16:50:54,509 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2019-02-14 16:50:54,509 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2019-02-14 16:50:54,509 INFO L133 SettingsManager]: * Trace refinement strategy=TAIPAN [2019-02-14 16:50:54,509 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2019-02-14 16:50:54,510 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2019-02-14 16:50:54,510 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2019-02-14 16:50:54,510 INFO L133 SettingsManager]: * Abstract interpretation Mode=USE_PREDICATES [2019-02-14 16:50:54,547 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2019-02-14 16:50:54,561 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2019-02-14 16:50:54,565 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2019-02-14 16:50:54,566 INFO L271 PluginConnector]: Initializing Boogie PL CUP Parser... [2019-02-14 16:50:54,567 INFO L276 PluginConnector]: Boogie PL CUP Parser initialized [2019-02-14 16:50:54,567 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/heapseparator/speedup-poc-dd-2-limited.bpl [2019-02-14 16:50:54,568 INFO L111 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/heapseparator/speedup-poc-dd-2-limited.bpl' [2019-02-14 16:50:54,606 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2019-02-14 16:50:54,607 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2019-02-14 16:50:54,608 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2019-02-14 16:50:54,608 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2019-02-14 16:50:54,609 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2019-02-14 16:50:54,627 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "speedup-poc-dd-2-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 14.02 04:50:54" (1/1) ... [2019-02-14 16:50:54,639 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "speedup-poc-dd-2-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 14.02 04:50:54" (1/1) ... [2019-02-14 16:50:54,670 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2019-02-14 16:50:54,671 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2019-02-14 16:50:54,671 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2019-02-14 16:50:54,671 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2019-02-14 16:50:54,683 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "speedup-poc-dd-2-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 14.02 04:50:54" (1/1) ... [2019-02-14 16:50:54,683 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "speedup-poc-dd-2-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 14.02 04:50:54" (1/1) ... [2019-02-14 16:50:54,684 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "speedup-poc-dd-2-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 14.02 04:50:54" (1/1) ... [2019-02-14 16:50:54,685 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "speedup-poc-dd-2-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 14.02 04:50:54" (1/1) ... [2019-02-14 16:50:54,688 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "speedup-poc-dd-2-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 14.02 04:50:54" (1/1) ... [2019-02-14 16:50:54,693 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "speedup-poc-dd-2-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 14.02 04:50:54" (1/1) ... [2019-02-14 16:50:54,694 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "speedup-poc-dd-2-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 14.02 04:50:54" (1/1) ... [2019-02-14 16:50:54,696 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2019-02-14 16:50:54,697 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2019-02-14 16:50:54,697 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2019-02-14 16:50:54,697 INFO L276 PluginConnector]: RCFGBuilder initialized [2019-02-14 16:50:54,701 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "speedup-poc-dd-2-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 14.02 04:50:54" (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:50:54,767 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2019-02-14 16:50:54,767 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2019-02-14 16:50:55,106 INFO L281 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2019-02-14 16:50:55,106 INFO L286 CfgBuilder]: Removed 7 assue(true) statements. [2019-02-14 16:50:55,108 INFO L202 PluginConnector]: Adding new model speedup-poc-dd-2-limited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.02 04:50:55 BoogieIcfgContainer [2019-02-14 16:50:55,108 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2019-02-14 16:50:55,109 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2019-02-14 16:50:55,109 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2019-02-14 16:50:55,112 INFO L276 PluginConnector]: TraceAbstraction initialized [2019-02-14 16:50:55,113 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "speedup-poc-dd-2-limited.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 14.02 04:50:54" (1/2) ... [2019-02-14 16:50:55,114 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@4b32d85 and model type speedup-poc-dd-2-limited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 14.02 04:50:55, skipping insertion in model container [2019-02-14 16:50:55,114 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "speedup-poc-dd-2-limited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 14.02 04:50:55" (2/2) ... [2019-02-14 16:50:55,116 INFO L112 eAbstractionObserver]: Analyzing ICFG speedup-poc-dd-2-limited.bpl [2019-02-14 16:50:55,126 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2019-02-14 16:50:55,134 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 2 error locations. [2019-02-14 16:50:55,151 INFO L257 AbstractCegarLoop]: Starting to check reachability of 2 error locations. [2019-02-14 16:50:55,184 INFO L382 AbstractCegarLoop]: Interprodecural is true [2019-02-14 16:50:55,184 INFO L383 AbstractCegarLoop]: Hoare is true [2019-02-14 16:50:55,185 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2019-02-14 16:50:55,185 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2019-02-14 16:50:55,185 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2019-02-14 16:50:55,185 INFO L387 AbstractCegarLoop]: Difference is false [2019-02-14 16:50:55,185 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2019-02-14 16:50:55,186 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2019-02-14 16:50:55,200 INFO L276 IsEmpty]: Start isEmpty. Operand 7 states. [2019-02-14 16:50:55,207 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 3 [2019-02-14 16:50:55,207 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:50:55,208 INFO L402 BasicCegarLoop]: trace histogram [1, 1] [2019-02-14 16:50:55,211 INFO L423 AbstractCegarLoop]: === Iteration 1 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:50:55,218 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:50:55,219 INFO L82 PathProgramCache]: Analyzing trace with hash 972, now seen corresponding path program 1 times [2019-02-14 16:50:55,222 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:50:55,270 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:50:55,270 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:50:55,270 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:50:55,270 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:50:55,317 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:50:55,522 INFO L273 TraceCheckUtils]: 0: Hoare triple {10#true} havoc main_p1, main_p2;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;assume main_p1 < main_p2;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0]; {12#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-14 16:50:55,528 INFO L273 TraceCheckUtils]: 1: Hoare triple {12#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {11#false} is VALID [2019-02-14 16:50:55,530 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:50:55,533 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2019-02-14 16:50:55,533 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2019-02-14 16:50:55,533 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-02-14 16:50:55,539 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 2 [2019-02-14 16:50:55,541 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:50:55,544 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2019-02-14 16:50:55,573 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:50:55,574 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2019-02-14 16:50:55,580 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2019-02-14 16:50:55,581 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2019-02-14 16:50:55,583 INFO L87 Difference]: Start difference. First operand 7 states. Second operand 3 states. [2019-02-14 16:50:55,717 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:50:55,717 INFO L93 Difference]: Finished difference Result 13 states and 15 transitions. [2019-02-14 16:50:55,718 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2019-02-14 16:50:55,718 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 2 [2019-02-14 16:50:55,718 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:50:55,719 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-02-14 16:50:55,722 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 15 transitions. [2019-02-14 16:50:55,722 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-02-14 16:50:55,724 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 15 transitions. [2019-02-14 16:50:55,725 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 15 transitions. [2019-02-14 16:50:55,802 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:50:55,813 INFO L225 Difference]: With dead ends: 13 [2019-02-14 16:50:55,813 INFO L226 Difference]: Without dead ends: 8 [2019-02-14 16:50:55,816 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 1 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2019-02-14 16:50:55,833 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 8 states. [2019-02-14 16:50:55,884 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 8 to 6. [2019-02-14 16:50:55,885 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:50:55,885 INFO L82 GeneralOperation]: Start isEquivalent. First operand 8 states. Second operand 6 states. [2019-02-14 16:50:55,886 INFO L74 IsIncluded]: Start isIncluded. First operand 8 states. Second operand 6 states. [2019-02-14 16:50:55,886 INFO L87 Difference]: Start difference. First operand 8 states. Second operand 6 states. [2019-02-14 16:50:55,888 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:50:55,889 INFO L93 Difference]: Finished difference Result 8 states and 10 transitions. [2019-02-14 16:50:55,889 INFO L276 IsEmpty]: Start isEmpty. Operand 8 states and 10 transitions. [2019-02-14 16:50:55,889 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:50:55,890 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:50:55,890 INFO L74 IsIncluded]: Start isIncluded. First operand 6 states. Second operand 8 states. [2019-02-14 16:50:55,890 INFO L87 Difference]: Start difference. First operand 6 states. Second operand 8 states. [2019-02-14 16:50:55,892 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:50:55,893 INFO L93 Difference]: Finished difference Result 8 states and 10 transitions. [2019-02-14 16:50:55,893 INFO L276 IsEmpty]: Start isEmpty. Operand 8 states and 10 transitions. [2019-02-14 16:50:55,893 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:50:55,893 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:50:55,894 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:50:55,894 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:50:55,894 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-14 16:50:55,896 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 9 transitions. [2019-02-14 16:50:55,897 INFO L78 Accepts]: Start accepts. Automaton has 6 states and 9 transitions. Word has length 2 [2019-02-14 16:50:55,898 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:50:55,898 INFO L480 AbstractCegarLoop]: Abstraction has 6 states and 9 transitions. [2019-02-14 16:50:55,898 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2019-02-14 16:50:55,898 INFO L276 IsEmpty]: Start isEmpty. Operand 6 states and 9 transitions. [2019-02-14 16:50:55,899 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2019-02-14 16:50:55,899 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:50:55,899 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2019-02-14 16:50:55,900 INFO L423 AbstractCegarLoop]: === Iteration 2 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:50:55,900 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:50:55,900 INFO L82 PathProgramCache]: Analyzing trace with hash 29988, now seen corresponding path program 1 times [2019-02-14 16:50:55,900 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:50:55,901 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:50:55,902 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:50:55,902 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:50:55,902 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:50:55,912 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:50:56,137 INFO L273 TraceCheckUtils]: 0: Hoare triple {54#true} havoc main_p1, main_p2;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;assume main_p1 < main_p2;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0]; {56#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-14 16:50:56,147 INFO L273 TraceCheckUtils]: 1: Hoare triple {56#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; {57#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:50:56,161 INFO L273 TraceCheckUtils]: 2: Hoare triple {57#(<= 0 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {55#false} is VALID [2019-02-14 16:50:56,162 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:50:56,162 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:50:56,162 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:50:56,164 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2019-02-14 16:50:56,171 INFO L207 CegarAbsIntRunner]: [0], [6], [11] [2019-02-14 16:50:56,249 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2019-02-14 16:50:56,250 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:51:48,825 INFO L266 AbstractInterpreter]: Error location(s) were unreachable [2019-02-14 16:51:48,827 INFO L272 AbstractInterpreter]: Visited 3 different actions 13 times. Merged at 1 different actions 5 times. Widened at 1 different actions 1 times. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2019-02-14 16:51:48,831 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:51:48,831 INFO L403 sIntCurrentIteration]: Generating AbsInt predicates [2019-02-14 16:51:52,482 INFO L418 sIntCurrentIteration]: Unifying AI predicates [2019-02-14 16:51:52,953 INFO L420 sIntCurrentIteration]: We unified 2 AI predicates to 2 [2019-02-14 16:51:54,909 INFO L429 sIntCurrentIteration]: Finished generation of AbsInt predicates [2019-02-14 16:51:54,910 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2019-02-14 16:51:54,910 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [1] imperfect sequences [2] total 3 [2019-02-14 16:51:54,910 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-02-14 16:51:54,912 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 3 [2019-02-14 16:51:54,912 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:51:54,912 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2019-02-14 16:51:54,922 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:51:54,923 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2019-02-14 16:51:54,923 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2019-02-14 16:51:54,923 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2019-02-14 16:51:54,924 INFO L87 Difference]: Start difference. First operand 6 states and 9 transitions. Second operand 3 states. [2019-02-14 16:51:55,101 WARN L214 ngHoareTripleChecker]: Soundness check failed for the following hoare triple [2019-02-14 16:51:55,102 WARN L217 ngHoareTripleChecker]: Expected: UNKNOWN Actual: INVALID [2019-02-14 16:51:55,103 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-02-14 16:51:55,104 WARN L223 ngHoareTripleChecker]: -- [2019-02-14 16:51:55,104 WARN L224 ngHoareTripleChecker]: Pre: {78#(forall ((v_idx_666 Int) (v_idx_659 Int) (v_idx_668 Int) (v_idx_662 Int)) (and (or (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_659) (< v_idx_659 c_ULTIMATE.start_malloc_ptr) (= 0 (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_659))) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) (or (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_668) (< v_idx_668 c_ULTIMATE.start_malloc_ptr) (= (select |c_#memory_int| v_idx_668) 0)) (or (and (<= 0 (* 2 (select |c_#memory_int| v_idx_666))) (<= 0 (select |c_#memory_int| v_idx_666))) (< v_idx_666 c_ULTIMATE.start_main_p1) (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_666)) (<= (- c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_malloc_ptr) (- 1)) (or (= (select |c_#valid| v_idx_662) 1) (< v_idx_662 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_662)) (<= (- (- c_ULTIMATE.start_main_p2) (- c_ULTIMATE.start_malloc_ptr)) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_main_p2) (- 1)) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_main_p2) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p2)))} [2019-02-14 16:51:55,104 WARN L228 ngHoareTripleChecker]: Action: #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; [2019-02-14 16:51:55,105 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p1 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p1) 1))) [2019-02-14 16:51:55,106 WARN L230 ngHoareTripleChecker]: Post: {79#false} [2019-02-14 16:51:55,106 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-02-14 16:51:55,107 WARN L268 ngHoareTripleChecker]: -- [2019-02-14 16:51:55,107 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-02-14 16:51:55,344 WARN L270 ngHoareTripleChecker]: Pre: {78#(and (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_malloc_ptr) (forall ((v_idx_666 Int)) (or (< v_idx_666 ULTIMATE.start_main_p1) (<= 0 (* 2 (select |#memory_int| v_idx_666))) (<= (+ ULTIMATE.start_main_p1 1) v_idx_666))) (<= (- (- ULTIMATE.start_main_p2) (- ULTIMATE.start_malloc_ptr)) 0) (forall ((v_idx_668 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_idx_668) (< v_idx_668 ULTIMATE.start_malloc_ptr) (= (select |#memory_int| v_idx_668) 0))) (forall ((v_prenex_1 Int)) (or (< v_prenex_1 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_1) (<= 0 (select |#memory_int| v_prenex_1)))) (forall ((v_idx_659 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_idx_659) (< v_idx_659 ULTIMATE.start_malloc_ptr) (= 0 (select |ULTIMATE.start_malloc_old_#valid| v_idx_659)))) (<= ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) (<= (- ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) 0) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_malloc_ptr) (- 1)) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (- 1)) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2) (forall ((v_idx_662 Int)) (or (= (select |#valid| v_idx_662) 1) (< v_idx_662 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_idx_662))))} [2019-02-14 16:51:55,344 WARN L274 ngHoareTripleChecker]: Action: #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; [2019-02-14 16:51:55,345 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p1 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p1) 1))) [2019-02-14 16:51:55,349 WARN L276 ngHoareTripleChecker]: Post: {79#false} [2019-02-14 16:51:55,350 WARN L620 ntHoareTripleChecker]: -- [2019-02-14 16:51:55,350 WARN L621 ntHoareTripleChecker]: Abstract states [2019-02-14 16:51:55,352 WARN L623 ntHoareTripleChecker]: PreS: {#1{Arrays: {[#memory_int] -> [-inf_0] v_1182 [b_92] v_1183 [b_93] v_1184 [b_94] v_1185 [b_95] v_1186 [inf_0], [#valid] -> [-inf_0] v_1179 [b_90] v_1180 [b_91] v_1181 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_1175 [b_88] v_1176 [b_89] v_1177 [inf_0], [old(#memory_int)] -> [-inf_0] v_1795 [inf_0], [old(#valid)] -> [-inf_0] v_1794 [inf_0], }, Substate: {ints: {v_1185 = [0; 0]; v_1180 = [1; 1]; v_1183 = [0; inf]; v_1176 = [0; 0]}, 20 vars top, relations: {v_1180 + v_1185 = [1; 1]; v_1180 - v_1185 = [1; 1]; v_1183 + v_1185 = [0; inf]; v_1183 - v_1185 = [0; inf]; v_1176 + v_1185 = [0; 0]; v_1176 - v_1185 = [0; 0]; b_89 - b_95 = [0; 0]; ULTIMATE.start_malloc_ptr - b_95 = [-1; -1]; ULTIMATE.start_main_p1 - b_95 = [-inf; -2]; b_94 - b_95 = [-1; -1]; ULTIMATE.start_main_p2 - b_95 = [-1; -1]; b_93 - b_95 = [-inf; -1]; b_92 - b_95 = [-inf; -2]; b_88 - b_95 = [-1; -1]; b_90 - b_95 = [-1; -1]; b_91 - b_95 = [0; 0]; ULTIMATE.start_malloc_ptr - b_89 = [-1; -1]; ULTIMATE.start_main_p1 - b_89 = [-inf; -2]; ULTIMATE.start_main_p2 - b_89 = [-1; -1]; b_88 - b_89 = [-1; -1]; ULTIMATE.start_main_p1 - ULTIMATE.start_malloc_ptr = [-inf; -1]; ULTIMATE.start_main_p2 - ULTIMATE.start_malloc_ptr = [0; 0]; v_1176 + v_1180 = [1; 1]; v_1176 - v_1180 = [-1; -1]; v_1180 + v_1183 = [1; inf]; v_1180 - v_1183 = [-inf; 1]; v_1176 + v_1183 = [0; inf]; v_1176 - v_1183 = [-inf; 0]; b_89 - b_94 = [1; 1]; ULTIMATE.start_malloc_ptr - b_94 = [0; 0]; ULTIMATE.start_main_p1 - b_94 = [-inf; -1]; ULTIMATE.start_main_p2 - b_94 = [0; 0]; b_93 - b_94 = [-inf; 0]; b_92 - b_94 = [-inf; -1]; b_88 - b_94 = [0; 0]; b_90 - b_94 = [0; 0]; b_91 - b_94 = [1; 1]; ULTIMATE.start_main_p1 - ULTIMATE.start_main_p2 = [-inf; -1]; b_89 - b_93 = [1; inf]; ULTIMATE.start_malloc_ptr - b_93 = [0; inf]; ULTIMATE.start_main_p1 - b_93 = [-1; -1]; ULTIMATE.start_main_p2 - b_93 = [0; inf]; b_92 - b_93 = [-1; -1]; b_88 - b_93 = [0; inf]; b_90 - b_93 = [0; inf]; b_91 - b_93 = [1; inf]; b_89 - b_92 = [2; inf]; ULTIMATE.start_malloc_ptr - b_92 = [1; inf]; ULTIMATE.start_main_p1 - b_92 = [0; 0]; ULTIMATE.start_main_p2 - b_92 = [1; inf]; b_88 - b_92 = [1; inf]; b_90 - b_92 = [1; inf]; b_91 - b_92 = [2; inf]; ULTIMATE.start_malloc_ptr - b_88 = [0; 0]; ULTIMATE.start_main_p1 - b_88 = [-inf; -1]; ULTIMATE.start_main_p2 - b_88 = [0; 0]; b_89 - b_90 = [1; 1]; ULTIMATE.start_malloc_ptr - b_90 = [0; 0]; ULTIMATE.start_main_p1 - b_90 = [-inf; -1]; ULTIMATE.start_main_p2 - b_90 = [0; 0]; b_88 - b_90 = [0; 0]; b_89 - b_91 = [0; 0]; ULTIMATE.start_malloc_ptr - b_91 = [-1; -1]; ULTIMATE.start_main_p1 - b_91 = [-inf; -2]; ULTIMATE.start_main_p2 - b_91 = [-1; -1]; b_88 - b_91 = [-1; -1]; b_90 - b_91 = [-1; -1]}, }}} [2019-02-14 16:51:55,352 WARN L628 ntHoareTripleChecker]: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p1 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p1) 1))) (#memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1];) [2019-02-14 16:51:55,353 WARN L629 ntHoareTripleChecker]: Post: {#1{Arrays: {}, Substate: false}} [2019-02-14 16:51:55,353 WARN L630 ntHoareTripleChecker]: -- [2019-02-14 16:51:55,782 WARN L214 ngHoareTripleChecker]: Soundness check failed for the following hoare triple [2019-02-14 16:51:55,782 WARN L217 ngHoareTripleChecker]: Expected: UNKNOWN Actual: INVALID [2019-02-14 16:51:55,783 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-02-14 16:51:55,783 WARN L223 ngHoareTripleChecker]: -- [2019-02-14 16:51:55,783 WARN L224 ngHoareTripleChecker]: Pre: {82#(forall ((v_idx_675 Int) (v_idx_679 Int) (v_idx_672 Int) (v_idx_681 Int)) (and (or (< v_idx_679 c_ULTIMATE.start_main_p1) (and (<= 0 (select |c_#memory_int| v_idx_679)) (<= 0 (* 2 (select |c_#memory_int| v_idx_679)))) (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_679)) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) (or (= 0 (select |c_#memory_int| v_idx_681)) (< v_idx_681 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_681)) (<= (- c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_malloc_ptr) (- 1)) (<= (- (- c_ULTIMATE.start_main_p2) (- c_ULTIMATE.start_malloc_ptr)) 0) (or (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_675) (= (select |c_#valid| v_idx_675) 1) (< v_idx_675 c_ULTIMATE.start_malloc_ptr)) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_main_p2) (- 1)) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_main_p2) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p2) (or (= 0 (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_672)) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_672) (< v_idx_672 c_ULTIMATE.start_malloc_ptr))))} [2019-02-14 16:51:55,784 WARN L228 ngHoareTripleChecker]: Action: #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; [2019-02-14 16:51:55,784 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p2 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p2) (- 1)))) [2019-02-14 16:51:55,784 WARN L230 ngHoareTripleChecker]: Post: {83#false} [2019-02-14 16:51:55,784 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-02-14 16:51:55,785 WARN L268 ngHoareTripleChecker]: -- [2019-02-14 16:51:55,786 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-02-14 16:51:55,933 WARN L270 ngHoareTripleChecker]: Pre: {82#(and (forall ((v_idx_672 Int)) (or (= 0 (select |ULTIMATE.start_malloc_old_#valid| v_idx_672)) (<= (+ ULTIMATE.start_main_p2 1) v_idx_672) (< v_idx_672 ULTIMATE.start_malloc_ptr))) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_malloc_ptr) (<= (- (- ULTIMATE.start_main_p2) (- ULTIMATE.start_malloc_ptr)) 0) (forall ((v_idx_679 Int)) (or (< v_idx_679 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_idx_679) (<= 0 (* 2 (select |#memory_int| v_idx_679))))) (forall ((v_idx_681 Int)) (or (= 0 (select |#memory_int| v_idx_681)) (< v_idx_681 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_idx_681))) (forall ((v_idx_675 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_idx_675) (= (select |#valid| v_idx_675) 1) (< v_idx_675 ULTIMATE.start_malloc_ptr))) (<= ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) (<= (- ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) 0) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_malloc_ptr) (- 1)) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (- 1)) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2) (forall ((v_prenex_2 Int)) (or (<= 0 (select |#memory_int| v_prenex_2)) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_2) (< v_prenex_2 ULTIMATE.start_main_p1))))} [2019-02-14 16:51:55,933 WARN L274 ngHoareTripleChecker]: Action: #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; [2019-02-14 16:51:55,934 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p2 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p2) (- 1)))) [2019-02-14 16:51:55,935 WARN L276 ngHoareTripleChecker]: Post: {83#false} [2019-02-14 16:51:55,936 WARN L620 ntHoareTripleChecker]: -- [2019-02-14 16:51:55,936 WARN L621 ntHoareTripleChecker]: Abstract states [2019-02-14 16:51:55,937 WARN L623 ntHoareTripleChecker]: PreS: {#1{Arrays: {[#memory_int] -> [-inf_0] v_1182 [b_92] v_1183 [b_93] v_1184 [b_94] v_1185 [b_95] v_1186 [inf_0], [#valid] -> [-inf_0] v_1179 [b_90] v_1180 [b_91] v_1181 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_1175 [b_88] v_1176 [b_89] v_1177 [inf_0], [old(#memory_int)] -> [-inf_0] v_1800 [inf_0], [old(#valid)] -> [-inf_0] v_1799 [inf_0], }, Substate: {ints: {v_1185 = [0; 0]; v_1180 = [1; 1]; v_1183 = [0; inf]; v_1176 = [0; 0]}, 20 vars top, relations: {v_1180 + v_1185 = [1; 1]; v_1180 - v_1185 = [1; 1]; v_1183 + v_1185 = [0; inf]; v_1183 - v_1185 = [0; inf]; v_1176 + v_1185 = [0; 0]; v_1176 - v_1185 = [0; 0]; b_89 - b_95 = [0; 0]; ULTIMATE.start_malloc_ptr - b_95 = [-1; -1]; ULTIMATE.start_main_p1 - b_95 = [-inf; -2]; b_94 - b_95 = [-1; -1]; ULTIMATE.start_main_p2 - b_95 = [-1; -1]; b_93 - b_95 = [-inf; -1]; b_92 - b_95 = [-inf; -2]; b_88 - b_95 = [-1; -1]; b_90 - b_95 = [-1; -1]; b_91 - b_95 = [0; 0]; ULTIMATE.start_malloc_ptr - b_89 = [-1; -1]; ULTIMATE.start_main_p1 - b_89 = [-inf; -2]; ULTIMATE.start_main_p2 - b_89 = [-1; -1]; b_88 - b_89 = [-1; -1]; ULTIMATE.start_main_p1 - ULTIMATE.start_malloc_ptr = [-inf; -1]; ULTIMATE.start_main_p2 - ULTIMATE.start_malloc_ptr = [0; 0]; v_1176 + v_1180 = [1; 1]; v_1176 - v_1180 = [-1; -1]; v_1180 + v_1183 = [1; inf]; v_1180 - v_1183 = [-inf; 1]; v_1176 + v_1183 = [0; inf]; v_1176 - v_1183 = [-inf; 0]; b_89 - b_94 = [1; 1]; ULTIMATE.start_malloc_ptr - b_94 = [0; 0]; ULTIMATE.start_main_p1 - b_94 = [-inf; -1]; ULTIMATE.start_main_p2 - b_94 = [0; 0]; b_93 - b_94 = [-inf; 0]; b_92 - b_94 = [-inf; -1]; b_88 - b_94 = [0; 0]; b_90 - b_94 = [0; 0]; b_91 - b_94 = [1; 1]; ULTIMATE.start_main_p1 - ULTIMATE.start_main_p2 = [-inf; -1]; b_89 - b_93 = [1; inf]; ULTIMATE.start_malloc_ptr - b_93 = [0; inf]; ULTIMATE.start_main_p1 - b_93 = [-1; -1]; ULTIMATE.start_main_p2 - b_93 = [0; inf]; b_92 - b_93 = [-1; -1]; b_88 - b_93 = [0; inf]; b_90 - b_93 = [0; inf]; b_91 - b_93 = [1; inf]; b_89 - b_92 = [2; inf]; ULTIMATE.start_malloc_ptr - b_92 = [1; inf]; ULTIMATE.start_main_p1 - b_92 = [0; 0]; ULTIMATE.start_main_p2 - b_92 = [1; inf]; b_88 - b_92 = [1; inf]; b_90 - b_92 = [1; inf]; b_91 - b_92 = [2; inf]; ULTIMATE.start_malloc_ptr - b_88 = [0; 0]; ULTIMATE.start_main_p1 - b_88 = [-inf; -1]; ULTIMATE.start_main_p2 - b_88 = [0; 0]; b_89 - b_90 = [1; 1]; ULTIMATE.start_malloc_ptr - b_90 = [0; 0]; ULTIMATE.start_main_p1 - b_90 = [-inf; -1]; ULTIMATE.start_main_p2 - b_90 = [0; 0]; b_88 - b_90 = [0; 0]; b_89 - b_91 = [0; 0]; ULTIMATE.start_malloc_ptr - b_91 = [-1; -1]; ULTIMATE.start_main_p1 - b_91 = [-inf; -2]; ULTIMATE.start_main_p2 - b_91 = [-1; -1]; b_88 - b_91 = [-1; -1]; b_90 - b_91 = [-1; -1]}, }}} [2019-02-14 16:51:55,937 WARN L628 ntHoareTripleChecker]: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p2 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p2) (- 1)))) (#memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1];) [2019-02-14 16:51:55,937 WARN L629 ntHoareTripleChecker]: Post: {#1{Arrays: {}, Substate: false}} [2019-02-14 16:51:55,937 WARN L630 ntHoareTripleChecker]: -- [2019-02-14 16:51:58,043 WARN L214 ngHoareTripleChecker]: Soundness check failed for the following hoare triple [2019-02-14 16:51:58,043 WARN L217 ngHoareTripleChecker]: Expected: UNKNOWN Actual: INVALID [2019-02-14 16:51:58,044 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-02-14 16:51:58,044 WARN L223 ngHoareTripleChecker]: -- [2019-02-14 16:51:58,044 WARN L224 ngHoareTripleChecker]: Pre: {88#(forall ((v_idx_753 Int) (v_idx_762 Int) (v_idx_756 Int) (v_idx_760 Int)) (and (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) (<= (- c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_malloc_ptr) (- 1)) (or (= 0 (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_753)) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_753) (< v_idx_753 c_ULTIMATE.start_malloc_ptr)) (or (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_762) (= (select |c_#memory_int| v_idx_762) 0) (< v_idx_762 c_ULTIMATE.start_malloc_ptr)) (<= (- (- c_ULTIMATE.start_main_p2) (- c_ULTIMATE.start_malloc_ptr)) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_main_p2) (- 1)) (or (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_756) (< v_idx_756 c_ULTIMATE.start_malloc_ptr) (= (select |c_#valid| v_idx_756) 1)) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_main_p2) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p2) (or (and (<= 0 (select |c_#memory_int| v_idx_760)) (<= 0 (* 2 (select |c_#memory_int| v_idx_760)))) (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_760) (< v_idx_760 c_ULTIMATE.start_main_p1))))} [2019-02-14 16:51:58,044 WARN L228 ngHoareTripleChecker]: Action: assume #memory_int[main_p1] >= 0; [2019-02-14 16:51:58,045 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (<= 0 (select |c_#memory_int| c_ULTIMATE.start_main_p1)) [2019-02-14 16:51:58,045 WARN L230 ngHoareTripleChecker]: Post: {89#false} [2019-02-14 16:51:58,045 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-02-14 16:51:58,048 WARN L268 ngHoareTripleChecker]: -- [2019-02-14 16:51:58,048 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-02-14 16:51:58,166 WARN L270 ngHoareTripleChecker]: Pre: {88#(and (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_malloc_ptr) (<= (- (- ULTIMATE.start_main_p2) (- ULTIMATE.start_malloc_ptr)) 0) (forall ((v_idx_760 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_idx_760) (<= 0 (select |#memory_int| v_idx_760)) (< v_idx_760 ULTIMATE.start_main_p1))) (forall ((v_idx_762 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_idx_762) (= (select |#memory_int| v_idx_762) 0) (< v_idx_762 ULTIMATE.start_malloc_ptr))) (<= ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) (forall ((v_prenex_3 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_prenex_3) (<= 0 (* 2 (select |#memory_int| v_prenex_3))) (< v_prenex_3 ULTIMATE.start_main_p1))) (forall ((v_idx_756 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_idx_756) (< v_idx_756 ULTIMATE.start_malloc_ptr) (= (select |#valid| v_idx_756) 1))) (forall ((v_idx_753 Int)) (or (= 0 (select |ULTIMATE.start_malloc_old_#valid| v_idx_753)) (<= (+ ULTIMATE.start_main_p2 1) v_idx_753) (< v_idx_753 ULTIMATE.start_malloc_ptr))) (<= (- ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) 0) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_malloc_ptr) (- 1)) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (- 1)) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2))} [2019-02-14 16:51:58,166 WARN L274 ngHoareTripleChecker]: Action: assume #memory_int[main_p1] >= 0; [2019-02-14 16:51:58,167 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (<= 0 (select |c_#memory_int| c_ULTIMATE.start_main_p1)) [2019-02-14 16:51:58,193 WARN L276 ngHoareTripleChecker]: Post: {89#false} [2019-02-14 16:51:58,193 WARN L620 ntHoareTripleChecker]: -- [2019-02-14 16:51:58,193 WARN L621 ntHoareTripleChecker]: Abstract states [2019-02-14 16:51:58,194 WARN L623 ntHoareTripleChecker]: PreS: {#1{Arrays: {[#memory_int] -> [-inf_0] v_1182 [b_92] v_1183 [b_93] v_1184 [b_94] v_1185 [b_95] v_1186 [inf_0], [#valid] -> [-inf_0] v_1179 [b_90] v_1180 [b_91] v_1181 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_1175 [b_88] v_1176 [b_89] v_1177 [inf_0], [old(#memory_int)] -> [-inf_0] v_1832 [inf_0], [old(#valid)] -> [-inf_0] v_1831 [inf_0], }, Substate: {ints: {v_1185 = [0; 0]; v_1180 = [1; 1]; v_1183 = [0; inf]; v_1176 = [0; 0]}, 20 vars top, relations: {v_1180 + v_1185 = [1; 1]; v_1180 - v_1185 = [1; 1]; v_1183 + v_1185 = [0; inf]; v_1183 - v_1185 = [0; inf]; v_1176 + v_1185 = [0; 0]; v_1176 - v_1185 = [0; 0]; b_89 - b_95 = [0; 0]; ULTIMATE.start_malloc_ptr - b_95 = [-1; -1]; ULTIMATE.start_main_p1 - b_95 = [-inf; -2]; b_94 - b_95 = [-1; -1]; ULTIMATE.start_main_p2 - b_95 = [-1; -1]; b_93 - b_95 = [-inf; -1]; b_92 - b_95 = [-inf; -2]; b_88 - b_95 = [-1; -1]; b_90 - b_95 = [-1; -1]; b_91 - b_95 = [0; 0]; ULTIMATE.start_malloc_ptr - b_89 = [-1; -1]; ULTIMATE.start_main_p1 - b_89 = [-inf; -2]; ULTIMATE.start_main_p2 - b_89 = [-1; -1]; b_88 - b_89 = [-1; -1]; ULTIMATE.start_main_p1 - ULTIMATE.start_malloc_ptr = [-inf; -1]; ULTIMATE.start_main_p2 - ULTIMATE.start_malloc_ptr = [0; 0]; v_1176 + v_1180 = [1; 1]; v_1176 - v_1180 = [-1; -1]; v_1180 + v_1183 = [1; inf]; v_1180 - v_1183 = [-inf; 1]; v_1176 + v_1183 = [0; inf]; v_1176 - v_1183 = [-inf; 0]; b_89 - b_94 = [1; 1]; ULTIMATE.start_malloc_ptr - b_94 = [0; 0]; ULTIMATE.start_main_p1 - b_94 = [-inf; -1]; ULTIMATE.start_main_p2 - b_94 = [0; 0]; b_93 - b_94 = [-inf; 0]; b_92 - b_94 = [-inf; -1]; b_88 - b_94 = [0; 0]; b_90 - b_94 = [0; 0]; b_91 - b_94 = [1; 1]; ULTIMATE.start_main_p1 - ULTIMATE.start_main_p2 = [-inf; -1]; b_89 - b_93 = [1; inf]; ULTIMATE.start_malloc_ptr - b_93 = [0; inf]; ULTIMATE.start_main_p1 - b_93 = [-1; -1]; ULTIMATE.start_main_p2 - b_93 = [0; inf]; b_92 - b_93 = [-1; -1]; b_88 - b_93 = [0; inf]; b_90 - b_93 = [0; inf]; b_91 - b_93 = [1; inf]; b_89 - b_92 = [2; inf]; ULTIMATE.start_malloc_ptr - b_92 = [1; inf]; ULTIMATE.start_main_p1 - b_92 = [0; 0]; ULTIMATE.start_main_p2 - b_92 = [1; inf]; b_88 - b_92 = [1; inf]; b_90 - b_92 = [1; inf]; b_91 - b_92 = [2; inf]; ULTIMATE.start_malloc_ptr - b_88 = [0; 0]; ULTIMATE.start_main_p1 - b_88 = [-inf; -1]; ULTIMATE.start_main_p2 - b_88 = [0; 0]; b_89 - b_90 = [1; 1]; ULTIMATE.start_malloc_ptr - b_90 = [0; 0]; ULTIMATE.start_main_p1 - b_90 = [-inf; -1]; ULTIMATE.start_main_p2 - b_90 = [0; 0]; b_88 - b_90 = [0; 0]; b_89 - b_91 = [0; 0]; ULTIMATE.start_malloc_ptr - b_91 = [-1; -1]; ULTIMATE.start_main_p1 - b_91 = [-inf; -2]; ULTIMATE.start_main_p2 - b_91 = [-1; -1]; b_88 - b_91 = [-1; -1]; b_90 - b_91 = [-1; -1]}, }}} [2019-02-14 16:51:58,194 WARN L628 ntHoareTripleChecker]: (<= 0 (select |c_#memory_int| c_ULTIMATE.start_main_p1)) (assume #memory_int[main_p1] >= 0;) [2019-02-14 16:51:58,194 WARN L629 ntHoareTripleChecker]: Post: {#1{Arrays: {}, Substate: false}} [2019-02-14 16:51:58,194 WARN L630 ntHoareTripleChecker]: -- [2019-02-14 16:51:59,073 WARN L214 ngHoareTripleChecker]: Soundness check failed for the following hoare triple [2019-02-14 16:51:59,074 WARN L217 ngHoareTripleChecker]: Expected: UNKNOWN Actual: INVALID [2019-02-14 16:51:59,074 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-02-14 16:51:59,075 WARN L223 ngHoareTripleChecker]: -- [2019-02-14 16:51:59,075 WARN L224 ngHoareTripleChecker]: Pre: {92#true} [2019-02-14 16:51:59,075 WARN L228 ngHoareTripleChecker]: Action: #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; [2019-02-14 16:51:59,075 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p1 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p1) 1))) [2019-02-14 16:51:59,076 WARN L230 ngHoareTripleChecker]: Post: {93#(forall ((v_idx_811 Int) (v_idx_806 Int) (v_idx_803 Int) (v_idx_809 Int)) (and (or (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_811) (= (select |c_#memory_int| v_idx_811) 0) (< v_idx_811 c_ULTIMATE.start_malloc_ptr)) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) (or (and (<= 0 (select |c_#memory_int| v_idx_809)) (<= 0 (* 2 (select |c_#memory_int| v_idx_809)))) (< v_idx_809 c_ULTIMATE.start_main_p1) (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_809)) (or (= (select |c_#valid| v_idx_806) 1) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_806) (< v_idx_806 c_ULTIMATE.start_malloc_ptr)) (or (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_803) (< v_idx_803 c_ULTIMATE.start_malloc_ptr) (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_803) 0)) (<= (- c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_malloc_ptr) (- 1)) (<= (- (- c_ULTIMATE.start_main_p2) (- c_ULTIMATE.start_malloc_ptr)) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_main_p2) (- 1)) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_main_p2) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p2)))} [2019-02-14 16:51:59,076 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-02-14 16:51:59,077 WARN L268 ngHoareTripleChecker]: -- [2019-02-14 16:51:59,077 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-02-14 16:51:59,078 WARN L270 ngHoareTripleChecker]: Pre: {92#true} [2019-02-14 16:51:59,078 WARN L274 ngHoareTripleChecker]: Action: #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; [2019-02-14 16:51:59,078 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p1 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p1) 1))) [2019-02-14 16:51:59,120 WARN L276 ngHoareTripleChecker]: Post: {93#(and (forall ((v_idx_811 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_idx_811) (= (select |#memory_int| v_idx_811) 0) (< v_idx_811 ULTIMATE.start_malloc_ptr))) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_malloc_ptr) (<= (- (- ULTIMATE.start_main_p2) (- ULTIMATE.start_malloc_ptr)) 0) (forall ((v_idx_809 Int)) (or (<= 0 (* 2 (select |#memory_int| v_idx_809))) (< v_idx_809 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_idx_809))) (forall ((v_idx_806 Int)) (or (= (select |#valid| v_idx_806) 1) (<= (+ ULTIMATE.start_main_p2 1) v_idx_806) (< v_idx_806 ULTIMATE.start_malloc_ptr))) (forall ((v_prenex_4 Int)) (or (< v_prenex_4 ULTIMATE.start_main_p1) (<= 0 (select |#memory_int| v_prenex_4)) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_4))) (<= ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) (<= (- ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) 0) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_malloc_ptr) (- 1)) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (- 1)) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2) (forall ((v_idx_803 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_idx_803) (< v_idx_803 ULTIMATE.start_malloc_ptr) (= (select |ULTIMATE.start_malloc_old_#valid| v_idx_803) 0))))} [2019-02-14 16:51:59,120 WARN L620 ntHoareTripleChecker]: -- [2019-02-14 16:51:59,120 WARN L621 ntHoareTripleChecker]: Abstract states [2019-02-14 16:51:59,121 WARN L623 ntHoareTripleChecker]: PreS: {#1{Arrays: {[#memory_int] -> [-inf_0] v_1839 [inf_0], [#valid] -> [-inf_0] v_1837 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_1836 [inf_0], [old(#memory_int)] -> [-inf_0] v_1840 [inf_0], [old(#valid)] -> [-inf_0] v_1838 [inf_0], }, Substate: {8 vars top, }}} [2019-02-14 16:51:59,121 WARN L628 ntHoareTripleChecker]: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p1 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p1) 1))) (#memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1];) [2019-02-14 16:51:59,122 WARN L629 ntHoareTripleChecker]: Post: {#1{Arrays: {[#memory_int] -> [-inf_0] v_1182 [b_92] v_1183 [b_93] v_1184 [b_94] v_1185 [b_95] v_1186 [inf_0], [#valid] -> [-inf_0] v_1179 [b_90] v_1180 [b_91] v_1181 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_1175 [b_88] v_1176 [b_89] v_1177 [inf_0], }, Substate: {ints: {v_1185 = [0; 0]; v_1180 = [1; 1]; v_1183 = [0; inf]; v_1176 = [0; 0]}, 18 vars top, relations: {v_1180 + v_1185 = [1; 1]; v_1180 - v_1185 = [1; 1]; v_1183 + v_1185 = [0; inf]; v_1183 - v_1185 = [0; inf]; v_1176 + v_1185 = [0; 0]; v_1176 - v_1185 = [0; 0]; ULTIMATE.start_malloc_ptr - b_89 = [-1; -1]; ULTIMATE.start_main_p1 - b_89 = [-inf; -2]; ULTIMATE.start_main_p2 - b_89 = [-1; -1]; b_88 - b_89 = [-1; -1]; ULTIMATE.start_main_p1 - ULTIMATE.start_malloc_ptr = [-inf; -1]; ULTIMATE.start_main_p2 - ULTIMATE.start_malloc_ptr = [0; 0]; v_1176 + v_1180 = [1; 1]; v_1176 - v_1180 = [-1; -1]; v_1180 + v_1183 = [1; inf]; v_1180 - v_1183 = [-inf; 1]; v_1176 + v_1183 = [0; inf]; v_1176 - v_1183 = [-inf; 0]; b_89 - b_94 = [1; 1]; ULTIMATE.start_malloc_ptr - b_94 = [0; 0]; b_93 - b_94 = [-inf; 0]; b_92 - b_94 = [-inf; -1]; b_90 - b_94 = [0; 0]; ULTIMATE.start_main_p1 - b_94 = [-inf; -1]; ULTIMATE.start_main_p2 - b_94 = [0; 0]; b_88 - b_94 = [0; 0]; b_91 - b_94 = [1; 1]; b_89 - b_93 = [1; inf]; ULTIMATE.start_malloc_ptr - b_93 = [0; inf]; b_92 - b_93 = [-1; -1]; b_90 - b_93 = [0; inf]; ULTIMATE.start_main_p1 - b_93 = [-1; -1]; ULTIMATE.start_main_p2 - b_93 = [0; inf]; b_88 - b_93 = [0; inf]; b_91 - b_93 = [1; inf]; b_89 - b_92 = [2; inf]; ULTIMATE.start_malloc_ptr - b_92 = [1; inf]; b_90 - b_92 = [1; inf]; ULTIMATE.start_main_p1 - b_92 = [0; 0]; ULTIMATE.start_main_p2 - b_92 = [1; inf]; b_88 - b_92 = [1; inf]; b_91 - b_92 = [2; inf]; b_89 - b_90 = [1; 1]; ULTIMATE.start_malloc_ptr - b_90 = [0; 0]; ULTIMATE.start_main_p1 - b_90 = [-inf; -1]; ULTIMATE.start_main_p2 - b_90 = [0; 0]; b_88 - b_90 = [0; 0]; b_89 - b_95 = [0; 0]; ULTIMATE.start_malloc_ptr - b_95 = [-1; -1]; b_94 - b_95 = [-1; -1]; b_93 - b_95 = [-inf; -1]; b_92 - b_95 = [-inf; -2]; b_90 - b_95 = [-1; -1]; ULTIMATE.start_main_p1 - b_95 = [-inf; -2]; ULTIMATE.start_main_p2 - b_95 = [-1; -1]; b_88 - b_95 = [-1; -1]; b_91 - b_95 = [0; 0]; ULTIMATE.start_main_p1 - ULTIMATE.start_main_p2 = [-inf; -1]; ULTIMATE.start_malloc_ptr - b_88 = [0; 0]; ULTIMATE.start_main_p1 - b_88 = [-inf; -1]; ULTIMATE.start_main_p2 - b_88 = [0; 0]; b_89 - b_91 = [0; 0]; ULTIMATE.start_malloc_ptr - b_91 = [-1; -1]; b_90 - b_91 = [-1; -1]; ULTIMATE.start_main_p1 - b_91 = [-inf; -2]; ULTIMATE.start_main_p2 - b_91 = [-1; -1]; b_88 - b_91 = [-1; -1]}, }}} [2019-02-14 16:51:59,123 WARN L630 ntHoareTripleChecker]: -- [2019-02-14 16:52:00,717 WARN L214 ngHoareTripleChecker]: Soundness check failed for the following hoare triple [2019-02-14 16:52:00,718 WARN L217 ngHoareTripleChecker]: Expected: UNKNOWN Actual: INVALID [2019-02-14 16:52:00,718 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-02-14 16:52:00,718 WARN L223 ngHoareTripleChecker]: -- [2019-02-14 16:52:00,718 WARN L224 ngHoareTripleChecker]: Pre: {97#true} [2019-02-14 16:52:00,718 WARN L228 ngHoareTripleChecker]: Action: assume #memory_int[main_p1] >= 0; [2019-02-14 16:52:00,719 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (<= 0 (select |c_#memory_int| c_ULTIMATE.start_main_p1)) [2019-02-14 16:52:00,719 WARN L230 ngHoareTripleChecker]: Post: {98#(forall ((v_idx_899 Int) (v_idx_905 Int) (v_idx_902 Int) (v_idx_907 Int)) (and (or (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_902) (= (select |c_#valid| v_idx_902) 1) (< v_idx_902 c_ULTIMATE.start_malloc_ptr)) (or (= 0 (select |c_#memory_int| v_idx_907)) (< v_idx_907 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_907)) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) (<= (- c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) 0) (or (< v_idx_899 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_899) (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_899) 0)) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_malloc_ptr) (- 1)) (<= (- (- c_ULTIMATE.start_main_p2) (- c_ULTIMATE.start_malloc_ptr)) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_main_p2) (- 1)) (or (and (<= 0 (select |c_#memory_int| v_idx_905)) (<= 0 (* 2 (select |c_#memory_int| v_idx_905)))) (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_905) (< v_idx_905 c_ULTIMATE.start_main_p1)) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_main_p2) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p2)))} [2019-02-14 16:52:00,719 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-02-14 16:52:00,720 WARN L268 ngHoareTripleChecker]: -- [2019-02-14 16:52:00,720 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-02-14 16:52:00,721 WARN L270 ngHoareTripleChecker]: Pre: {97#true} [2019-02-14 16:52:00,721 WARN L274 ngHoareTripleChecker]: Action: assume #memory_int[main_p1] >= 0; [2019-02-14 16:52:00,721 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (<= 0 (select |c_#memory_int| c_ULTIMATE.start_main_p1)) [2019-02-14 16:52:00,769 WARN L276 ngHoareTripleChecker]: Post: {98#(and (forall ((v_idx_902 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_idx_902) (= (select |#valid| v_idx_902) 1) (< v_idx_902 ULTIMATE.start_malloc_ptr))) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_malloc_ptr) (forall ((v_idx_905 Int)) (or (<= 0 (select |#memory_int| v_idx_905)) (<= (+ ULTIMATE.start_main_p1 1) v_idx_905) (< v_idx_905 ULTIMATE.start_main_p1))) (forall ((v_prenex_5 Int)) (or (< v_prenex_5 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_5) (<= 0 (* 2 (select |#memory_int| v_prenex_5))))) (forall ((v_idx_907 Int)) (or (= 0 (select |#memory_int| v_idx_907)) (< v_idx_907 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_idx_907))) (<= (- (- ULTIMATE.start_main_p2) (- ULTIMATE.start_malloc_ptr)) 0) (<= ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) (<= (- ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) 0) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_malloc_ptr) (- 1)) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (- 1)) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2) (forall ((v_idx_899 Int)) (or (< v_idx_899 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_idx_899) (= (select |ULTIMATE.start_malloc_old_#valid| v_idx_899) 0))))} [2019-02-14 16:52:00,769 WARN L620 ntHoareTripleChecker]: -- [2019-02-14 16:52:00,770 WARN L621 ntHoareTripleChecker]: Abstract states [2019-02-14 16:52:00,770 WARN L623 ntHoareTripleChecker]: PreS: {#1{Arrays: {[#memory_int] -> [-inf_0] v_1899 [inf_0], [#valid] -> [-inf_0] v_1897 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_1896 [inf_0], [old(#memory_int)] -> [-inf_0] v_1900 [inf_0], [old(#valid)] -> [-inf_0] v_1898 [inf_0], }, Substate: {8 vars top, }}} [2019-02-14 16:52:00,770 WARN L628 ntHoareTripleChecker]: (<= 0 (select |c_#memory_int| c_ULTIMATE.start_main_p1)) (assume #memory_int[main_p1] >= 0;) [2019-02-14 16:52:00,771 WARN L629 ntHoareTripleChecker]: Post: {#1{Arrays: {[#memory_int] -> [-inf_0] v_1182 [b_92] v_1183 [b_93] v_1184 [b_94] v_1185 [b_95] v_1186 [inf_0], [#valid] -> [-inf_0] v_1179 [b_90] v_1180 [b_91] v_1181 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_1175 [b_88] v_1176 [b_89] v_1177 [inf_0], }, Substate: {ints: {v_1185 = [0; 0]; v_1180 = [1; 1]; v_1183 = [0; inf]; v_1176 = [0; 0]}, 18 vars top, relations: {v_1180 + v_1185 = [1; 1]; v_1180 - v_1185 = [1; 1]; v_1183 + v_1185 = [0; inf]; v_1183 - v_1185 = [0; inf]; v_1176 + v_1185 = [0; 0]; v_1176 - v_1185 = [0; 0]; ULTIMATE.start_malloc_ptr - b_89 = [-1; -1]; ULTIMATE.start_main_p1 - b_89 = [-inf; -2]; ULTIMATE.start_main_p2 - b_89 = [-1; -1]; b_88 - b_89 = [-1; -1]; ULTIMATE.start_main_p1 - ULTIMATE.start_malloc_ptr = [-inf; -1]; ULTIMATE.start_main_p2 - ULTIMATE.start_malloc_ptr = [0; 0]; v_1176 + v_1180 = [1; 1]; v_1176 - v_1180 = [-1; -1]; v_1180 + v_1183 = [1; inf]; v_1180 - v_1183 = [-inf; 1]; v_1176 + v_1183 = [0; inf]; v_1176 - v_1183 = [-inf; 0]; b_89 - b_94 = [1; 1]; ULTIMATE.start_malloc_ptr - b_94 = [0; 0]; b_93 - b_94 = [-inf; 0]; b_92 - b_94 = [-inf; -1]; b_90 - b_94 = [0; 0]; ULTIMATE.start_main_p1 - b_94 = [-inf; -1]; ULTIMATE.start_main_p2 - b_94 = [0; 0]; b_88 - b_94 = [0; 0]; b_91 - b_94 = [1; 1]; b_89 - b_93 = [1; inf]; ULTIMATE.start_malloc_ptr - b_93 = [0; inf]; b_92 - b_93 = [-1; -1]; b_90 - b_93 = [0; inf]; ULTIMATE.start_main_p1 - b_93 = [-1; -1]; ULTIMATE.start_main_p2 - b_93 = [0; inf]; b_88 - b_93 = [0; inf]; b_91 - b_93 = [1; inf]; b_89 - b_92 = [2; inf]; ULTIMATE.start_malloc_ptr - b_92 = [1; inf]; b_90 - b_92 = [1; inf]; ULTIMATE.start_main_p1 - b_92 = [0; 0]; ULTIMATE.start_main_p2 - b_92 = [1; inf]; b_88 - b_92 = [1; inf]; b_91 - b_92 = [2; inf]; b_89 - b_90 = [1; 1]; ULTIMATE.start_malloc_ptr - b_90 = [0; 0]; ULTIMATE.start_main_p1 - b_90 = [-inf; -1]; ULTIMATE.start_main_p2 - b_90 = [0; 0]; b_88 - b_90 = [0; 0]; b_89 - b_95 = [0; 0]; ULTIMATE.start_malloc_ptr - b_95 = [-1; -1]; b_94 - b_95 = [-1; -1]; b_93 - b_95 = [-inf; -1]; b_92 - b_95 = [-inf; -2]; b_90 - b_95 = [-1; -1]; ULTIMATE.start_main_p1 - b_95 = [-inf; -2]; ULTIMATE.start_main_p2 - b_95 = [-1; -1]; b_88 - b_95 = [-1; -1]; b_91 - b_95 = [0; 0]; ULTIMATE.start_main_p1 - ULTIMATE.start_main_p2 = [-inf; -1]; ULTIMATE.start_malloc_ptr - b_88 = [0; 0]; ULTIMATE.start_main_p1 - b_88 = [-inf; -1]; ULTIMATE.start_main_p2 - b_88 = [0; 0]; b_89 - b_91 = [0; 0]; ULTIMATE.start_malloc_ptr - b_91 = [-1; -1]; b_90 - b_91 = [-1; -1]; ULTIMATE.start_main_p1 - b_91 = [-inf; -2]; ULTIMATE.start_main_p2 - b_91 = [-1; -1]; b_88 - b_91 = [-1; -1]}, }}} [2019-02-14 16:52:00,772 WARN L630 ntHoareTripleChecker]: -- [2019-02-14 16:52:01,759 WARN L214 ngHoareTripleChecker]: Soundness check failed for the following hoare triple [2019-02-14 16:52:01,759 WARN L217 ngHoareTripleChecker]: Expected: UNKNOWN Actual: INVALID [2019-02-14 16:52:01,759 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-02-14 16:52:01,760 WARN L223 ngHoareTripleChecker]: -- [2019-02-14 16:52:01,760 WARN L224 ngHoareTripleChecker]: Pre: {103#true} [2019-02-14 16:52:01,760 WARN L228 ngHoareTripleChecker]: Action: assume !(#memory_int[main_p2] <= 0); [2019-02-14 16:52:01,760 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (not (<= (select |c_#memory_int| c_ULTIMATE.start_main_p2) 0)) [2019-02-14 16:52:01,761 WARN L230 ngHoareTripleChecker]: Post: {104#(forall ((v_idx_963 Int) (v_idx_960 Int) (v_idx_966 Int) (v_idx_968 Int)) (and (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) (or (and (<= 0 (select |c_#memory_int| v_idx_966)) (<= 0 (* 2 (select |c_#memory_int| v_idx_966)))) (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_966) (< v_idx_966 c_ULTIMATE.start_main_p1)) (<= (- c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_malloc_ptr) (- 1)) (or (< v_idx_963 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_963) (= (select |c_#valid| v_idx_963) 1)) (<= (- (- c_ULTIMATE.start_main_p2) (- c_ULTIMATE.start_malloc_ptr)) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_main_p2) (- 1)) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_main_p2) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p2) (or (< v_idx_960 c_ULTIMATE.start_malloc_ptr) (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_960) 0) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_960)) (or (< v_idx_968 c_ULTIMATE.start_malloc_ptr) (= 0 (select |c_#memory_int| v_idx_968)) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_968))))} [2019-02-14 16:52:01,761 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-02-14 16:52:01,761 WARN L268 ngHoareTripleChecker]: -- [2019-02-14 16:52:01,761 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-02-14 16:52:01,762 WARN L270 ngHoareTripleChecker]: Pre: {103#true} [2019-02-14 16:52:01,762 WARN L274 ngHoareTripleChecker]: Action: assume !(#memory_int[main_p2] <= 0); [2019-02-14 16:52:01,762 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (not (<= (select |c_#memory_int| c_ULTIMATE.start_main_p2) 0)) [2019-02-14 16:52:01,814 WARN L276 ngHoareTripleChecker]: Post: {104#(and (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_malloc_ptr) (forall ((v_prenex_6 Int)) (or (<= 0 (* 2 (select |#memory_int| v_prenex_6))) (< v_prenex_6 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_6))) (forall ((v_idx_968 Int)) (or (< v_idx_968 ULTIMATE.start_malloc_ptr) (= 0 (select |#memory_int| v_idx_968)) (<= (+ ULTIMATE.start_main_p2 1) v_idx_968))) (<= (- (- ULTIMATE.start_main_p2) (- ULTIMATE.start_malloc_ptr)) 0) (forall ((v_idx_966 Int)) (or (<= 0 (select |#memory_int| v_idx_966)) (<= (+ ULTIMATE.start_main_p1 1) v_idx_966) (< v_idx_966 ULTIMATE.start_main_p1))) (<= ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) (forall ((v_idx_963 Int)) (or (< v_idx_963 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_idx_963) (= (select |#valid| v_idx_963) 1))) (<= (- ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) 0) (forall ((v_idx_960 Int)) (or (< v_idx_960 ULTIMATE.start_malloc_ptr) (= (select |ULTIMATE.start_malloc_old_#valid| v_idx_960) 0) (<= (+ ULTIMATE.start_main_p2 1) v_idx_960))) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_malloc_ptr) (- 1)) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (- 1)) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2))} [2019-02-14 16:52:01,815 WARN L620 ntHoareTripleChecker]: -- [2019-02-14 16:52:01,815 WARN L621 ntHoareTripleChecker]: Abstract states [2019-02-14 16:52:01,815 WARN L623 ntHoareTripleChecker]: PreS: {#1{Arrays: {[#memory_int] -> [-inf_0] v_1934 [inf_0], [#valid] -> [-inf_0] v_1932 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_1931 [inf_0], [old(#memory_int)] -> [-inf_0] v_1935 [inf_0], [old(#valid)] -> [-inf_0] v_1933 [inf_0], }, Substate: {8 vars top, }}} [2019-02-14 16:52:01,816 WARN L628 ntHoareTripleChecker]: (not (<= (select |c_#memory_int| c_ULTIMATE.start_main_p2) 0)) (assume !(#memory_int[main_p2] <= 0);) [2019-02-14 16:52:01,816 WARN L629 ntHoareTripleChecker]: Post: {#1{Arrays: {[#memory_int] -> [-inf_0] v_1182 [b_92] v_1183 [b_93] v_1184 [b_94] v_1185 [b_95] v_1186 [inf_0], [#valid] -> [-inf_0] v_1179 [b_90] v_1180 [b_91] v_1181 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_1175 [b_88] v_1176 [b_89] v_1177 [inf_0], }, Substate: {ints: {v_1185 = [0; 0]; v_1180 = [1; 1]; v_1183 = [0; inf]; v_1176 = [0; 0]}, 18 vars top, relations: {v_1180 + v_1185 = [1; 1]; v_1180 - v_1185 = [1; 1]; v_1183 + v_1185 = [0; inf]; v_1183 - v_1185 = [0; inf]; v_1176 + v_1185 = [0; 0]; v_1176 - v_1185 = [0; 0]; ULTIMATE.start_malloc_ptr - b_89 = [-1; -1]; ULTIMATE.start_main_p1 - b_89 = [-inf; -2]; ULTIMATE.start_main_p2 - b_89 = [-1; -1]; b_88 - b_89 = [-1; -1]; ULTIMATE.start_main_p1 - ULTIMATE.start_malloc_ptr = [-inf; -1]; ULTIMATE.start_main_p2 - ULTIMATE.start_malloc_ptr = [0; 0]; v_1176 + v_1180 = [1; 1]; v_1176 - v_1180 = [-1; -1]; v_1180 + v_1183 = [1; inf]; v_1180 - v_1183 = [-inf; 1]; v_1176 + v_1183 = [0; inf]; v_1176 - v_1183 = [-inf; 0]; b_89 - b_94 = [1; 1]; ULTIMATE.start_malloc_ptr - b_94 = [0; 0]; b_93 - b_94 = [-inf; 0]; b_92 - b_94 = [-inf; -1]; b_90 - b_94 = [0; 0]; ULTIMATE.start_main_p1 - b_94 = [-inf; -1]; ULTIMATE.start_main_p2 - b_94 = [0; 0]; b_88 - b_94 = [0; 0]; b_91 - b_94 = [1; 1]; b_89 - b_93 = [1; inf]; ULTIMATE.start_malloc_ptr - b_93 = [0; inf]; b_92 - b_93 = [-1; -1]; b_90 - b_93 = [0; inf]; ULTIMATE.start_main_p1 - b_93 = [-1; -1]; ULTIMATE.start_main_p2 - b_93 = [0; inf]; b_88 - b_93 = [0; inf]; b_91 - b_93 = [1; inf]; b_89 - b_92 = [2; inf]; ULTIMATE.start_malloc_ptr - b_92 = [1; inf]; b_90 - b_92 = [1; inf]; ULTIMATE.start_main_p1 - b_92 = [0; 0]; ULTIMATE.start_main_p2 - b_92 = [1; inf]; b_88 - b_92 = [1; inf]; b_91 - b_92 = [2; inf]; b_89 - b_90 = [1; 1]; ULTIMATE.start_malloc_ptr - b_90 = [0; 0]; ULTIMATE.start_main_p1 - b_90 = [-inf; -1]; ULTIMATE.start_main_p2 - b_90 = [0; 0]; b_88 - b_90 = [0; 0]; b_89 - b_95 = [0; 0]; ULTIMATE.start_malloc_ptr - b_95 = [-1; -1]; b_94 - b_95 = [-1; -1]; b_93 - b_95 = [-inf; -1]; b_92 - b_95 = [-inf; -2]; b_90 - b_95 = [-1; -1]; ULTIMATE.start_main_p1 - b_95 = [-inf; -2]; ULTIMATE.start_main_p2 - b_95 = [-1; -1]; b_88 - b_95 = [-1; -1]; b_91 - b_95 = [0; 0]; ULTIMATE.start_main_p1 - ULTIMATE.start_main_p2 = [-inf; -1]; ULTIMATE.start_malloc_ptr - b_88 = [0; 0]; ULTIMATE.start_main_p1 - b_88 = [-inf; -1]; ULTIMATE.start_main_p2 - b_88 = [0; 0]; b_89 - b_91 = [0; 0]; ULTIMATE.start_malloc_ptr - b_91 = [-1; -1]; b_90 - b_91 = [-1; -1]; ULTIMATE.start_main_p1 - b_91 = [-inf; -2]; ULTIMATE.start_main_p2 - b_91 = [-1; -1]; b_88 - b_91 = [-1; -1]}, }}} [2019-02-14 16:52:01,817 WARN L630 ntHoareTripleChecker]: -- [2019-02-14 16:52:01,820 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:52:01,820 INFO L93 Difference]: Finished difference Result 10 states and 14 transitions. [2019-02-14 16:52:01,821 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2019-02-14 16:52:01,821 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 3 [2019-02-14 16:52:01,821 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:52:01,822 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-02-14 16:52:01,823 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 11 transitions. [2019-02-14 16:52:01,823 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-02-14 16:52:01,824 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 11 transitions. [2019-02-14 16:52:01,824 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 11 transitions. [2019-02-14 16:52:01,848 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:52:01,849 INFO L225 Difference]: With dead ends: 10 [2019-02-14 16:52:01,849 INFO L226 Difference]: Without dead ends: 7 [2019-02-14 16:52:01,851 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 0 SyntacticMatches, 1 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2019-02-14 16:52:01,851 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 7 states. [2019-02-14 16:52:01,873 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 7 to 6. [2019-02-14 16:52:01,873 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:52:01,874 INFO L82 GeneralOperation]: Start isEquivalent. First operand 7 states. Second operand 6 states. [2019-02-14 16:52:01,874 INFO L74 IsIncluded]: Start isIncluded. First operand 7 states. Second operand 6 states. [2019-02-14 16:52:01,874 INFO L87 Difference]: Start difference. First operand 7 states. Second operand 6 states. [2019-02-14 16:52:01,875 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:52:01,876 INFO L93 Difference]: Finished difference Result 7 states and 10 transitions. [2019-02-14 16:52:01,876 INFO L276 IsEmpty]: Start isEmpty. Operand 7 states and 10 transitions. [2019-02-14 16:52:01,876 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:52:01,876 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:52:01,876 INFO L74 IsIncluded]: Start isIncluded. First operand 6 states. Second operand 7 states. [2019-02-14 16:52:01,877 INFO L87 Difference]: Start difference. First operand 6 states. Second operand 7 states. [2019-02-14 16:52:01,878 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:52:01,878 INFO L93 Difference]: Finished difference Result 7 states and 10 transitions. [2019-02-14 16:52:01,878 INFO L276 IsEmpty]: Start isEmpty. Operand 7 states and 10 transitions. [2019-02-14 16:52:01,878 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:52:01,878 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:52:01,879 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:52:01,879 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:52:01,879 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2019-02-14 16:52:01,880 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 8 transitions. [2019-02-14 16:52:01,880 INFO L78 Accepts]: Start accepts. Automaton has 6 states and 8 transitions. Word has length 3 [2019-02-14 16:52:01,880 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:52:01,880 INFO L480 AbstractCegarLoop]: Abstraction has 6 states and 8 transitions. [2019-02-14 16:52:01,880 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2019-02-14 16:52:01,880 INFO L276 IsEmpty]: Start isEmpty. Operand 6 states and 8 transitions. [2019-02-14 16:52:01,881 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2019-02-14 16:52:01,881 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:52:01,881 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2019-02-14 16:52:01,881 INFO L423 AbstractCegarLoop]: === Iteration 3 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:52:01,882 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:52:01,882 INFO L82 PathProgramCache]: Analyzing trace with hash 30050, now seen corresponding path program 1 times [2019-02-14 16:52:01,882 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:52:01,883 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:52:01,883 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:52:01,883 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:52:01,883 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:52:01,889 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:52:01,973 INFO L273 TraceCheckUtils]: 0: Hoare triple {130#true} havoc main_p1, main_p2;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;assume main_p1 < main_p2;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0]; {132#(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:52:01,975 INFO L273 TraceCheckUtils]: 1: Hoare triple {132#(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]; {133#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} is VALID [2019-02-14 16:52:01,975 INFO L273 TraceCheckUtils]: 2: Hoare triple {133#(= (select |#memory_int| ULTIMATE.start_main_p1) 0)} assume !(#memory_int[main_p1] >= 0); {131#false} is VALID [2019-02-14 16:52:01,976 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:52:01,976 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:52:01,976 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:52:01,976 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 4 with the following transitions: [2019-02-14 16:52:01,977 INFO L207 CegarAbsIntRunner]: [0], [8], [11] [2019-02-14 16:52:01,978 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2019-02-14 16:52:01,978 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:52:53,658 INFO L266 AbstractInterpreter]: Error location(s) were unreachable [2019-02-14 16:52:53,658 INFO L272 AbstractInterpreter]: Visited 3 different actions 13 times. Merged at 1 different actions 5 times. Widened at 1 different actions 1 times. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2019-02-14 16:52:53,658 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:52:53,659 INFO L403 sIntCurrentIteration]: Generating AbsInt predicates [2019-02-14 16:52:57,154 INFO L418 sIntCurrentIteration]: Unifying AI predicates [2019-02-14 16:52:57,698 INFO L420 sIntCurrentIteration]: We unified 2 AI predicates to 2 [2019-02-14 16:52:59,315 INFO L429 sIntCurrentIteration]: Finished generation of AbsInt predicates [2019-02-14 16:52:59,315 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2019-02-14 16:52:59,316 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [1] imperfect sequences [2] total 3 [2019-02-14 16:52:59,316 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-02-14 16:52:59,317 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 3 [2019-02-14 16:52:59,317 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:52:59,317 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2019-02-14 16:52:59,336 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:52:59,336 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2019-02-14 16:52:59,336 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2019-02-14 16:52:59,336 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2019-02-14 16:52:59,337 INFO L87 Difference]: Start difference. First operand 6 states and 8 transitions. Second operand 3 states. [2019-02-14 16:52:59,517 WARN L214 ngHoareTripleChecker]: Soundness check failed for the following hoare triple [2019-02-14 16:52:59,518 WARN L217 ngHoareTripleChecker]: Expected: UNKNOWN Actual: INVALID [2019-02-14 16:52:59,518 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-02-14 16:52:59,518 WARN L223 ngHoareTripleChecker]: -- [2019-02-14 16:52:59,519 WARN L224 ngHoareTripleChecker]: Pre: {154#(forall ((v_idx_1654 Int) (v_idx_1663 Int) (v_idx_1661 Int) (v_idx_1657 Int)) (and (or (< v_idx_1654 c_ULTIMATE.start_malloc_ptr) (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_1654) 0) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_1654)) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) (or (< v_idx_1657 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_1657) (= 1 (select |c_#valid| v_idx_1657))) (or (< v_idx_1661 c_ULTIMATE.start_main_p1) (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_1661) (= 0 (select |c_#memory_int| v_idx_1661))) (<= (- c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) 0) (or (< v_idx_1663 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_1663) (and (<= (* 2 (select |c_#memory_int| v_idx_1663)) 0) (<= (select |c_#memory_int| v_idx_1663) 0))) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_malloc_ptr) (- 1)) (<= (- (- c_ULTIMATE.start_main_p2) (- c_ULTIMATE.start_malloc_ptr)) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_main_p2) (- 1)) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p2) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_main_p2)))} [2019-02-14 16:52:59,519 WARN L228 ngHoareTripleChecker]: Action: #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; [2019-02-14 16:52:59,519 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p1 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p1) 1))) [2019-02-14 16:52:59,519 WARN L230 ngHoareTripleChecker]: Post: {155#false} [2019-02-14 16:52:59,519 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-02-14 16:52:59,520 WARN L268 ngHoareTripleChecker]: -- [2019-02-14 16:52:59,520 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-02-14 16:52:59,783 WARN L270 ngHoareTripleChecker]: Pre: {154#(and (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_malloc_ptr) (<= (- (- ULTIMATE.start_main_p2) (- ULTIMATE.start_malloc_ptr)) 0) (forall ((v_prenex_7 Int)) (or (<= (select |#memory_int| v_prenex_7) 0) (< v_prenex_7 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_7))) (forall ((v_idx_1657 Int)) (or (< v_idx_1657 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_idx_1657) (= 1 (select |#valid| v_idx_1657)))) (forall ((v_idx_1663 Int)) (or (<= (* 2 (select |#memory_int| v_idx_1663)) 0) (< v_idx_1663 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_idx_1663))) (<= ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) (forall ((v_idx_1661 Int)) (or (< v_idx_1661 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_idx_1661) (= 0 (select |#memory_int| v_idx_1661)))) (<= (- ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) 0) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_malloc_ptr) (- 1)) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (- 1)) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2) (forall ((v_idx_1654 Int)) (or (< v_idx_1654 ULTIMATE.start_malloc_ptr) (= (select |ULTIMATE.start_malloc_old_#valid| v_idx_1654) 0) (<= (+ ULTIMATE.start_main_p2 1) v_idx_1654))))} [2019-02-14 16:52:59,783 WARN L274 ngHoareTripleChecker]: Action: #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; [2019-02-14 16:52:59,784 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p1 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p1) 1))) [2019-02-14 16:52:59,785 WARN L276 ngHoareTripleChecker]: Post: {155#false} [2019-02-14 16:52:59,785 WARN L620 ntHoareTripleChecker]: -- [2019-02-14 16:52:59,786 WARN L621 ntHoareTripleChecker]: Abstract states [2019-02-14 16:52:59,787 WARN L623 ntHoareTripleChecker]: PreS: {#1{Arrays: {[#memory_int] -> [-inf_0] v_1364 [b_84] v_1365 [b_85] v_1366 [b_86] v_1367 [b_87] v_1368 [inf_0], [#valid] -> [-inf_0] v_1361 [b_82] v_1362 [b_83] v_1363 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_1357 [b_80] v_1358 [b_81] v_1359 [inf_0], [old(#memory_int)] -> [-inf_0] v_1938 [inf_0], [old(#valid)] -> [-inf_0] v_1937 [inf_0], }, Substate: {ints: {v_1358 = [0; 0]; v_1365 = [0; 0]; v_1362 = [1; 1]; v_1367 = [-inf; 0]}, 20 vars top, relations: {b_86 - b_87 = [-1; -1]; b_80 - b_87 = [-1; -1]; b_85 - b_87 = [-inf; -1]; ULTIMATE.start_malloc_ptr - b_87 = [-1; -1]; b_82 - b_87 = [-1; -1]; ULTIMATE.start_main_p1 - b_87 = [-inf; -2]; ULTIMATE.start_main_p2 - b_87 = [-1; -1]; b_81 - b_87 = [0; 0]; b_83 - b_87 = [0; 0]; b_84 - b_87 = [-inf; -2]; b_80 - b_86 = [0; 0]; b_85 - b_86 = [-inf; 0]; ULTIMATE.start_malloc_ptr - b_86 = [0; 0]; b_82 - b_86 = [0; 0]; ULTIMATE.start_main_p1 - b_86 = [-inf; -1]; ULTIMATE.start_main_p2 - b_86 = [0; 0]; b_81 - b_86 = [1; 1]; b_83 - b_86 = [1; 1]; b_84 - b_86 = [-inf; -1]; ULTIMATE.start_malloc_ptr - b_80 = [0; 0]; ULTIMATE.start_main_p1 - b_80 = [-inf; -1]; ULTIMATE.start_main_p2 - b_80 = [0; 0]; b_80 - b_85 = [0; inf]; ULTIMATE.start_malloc_ptr - b_85 = [0; inf]; b_82 - b_85 = [0; inf]; ULTIMATE.start_main_p1 - b_85 = [-1; -1]; ULTIMATE.start_main_p2 - b_85 = [0; inf]; b_81 - b_85 = [1; inf]; b_83 - b_85 = [1; inf]; b_84 - b_85 = [-1; -1]; ULTIMATE.start_main_p1 - ULTIMATE.start_malloc_ptr = [-inf; -1]; ULTIMATE.start_main_p2 - ULTIMATE.start_malloc_ptr = [0; 0]; v_1358 + v_1365 = [0; 0]; v_1358 - v_1365 = [0; 0]; v_1362 + v_1365 = [1; 1]; v_1362 - v_1365 = [1; 1]; b_80 - b_82 = [0; 0]; ULTIMATE.start_malloc_ptr - b_82 = [0; 0]; ULTIMATE.start_main_p1 - b_82 = [-inf; -1]; ULTIMATE.start_main_p2 - b_82 = [0; 0]; b_81 - b_82 = [1; 1]; ULTIMATE.start_main_p1 - ULTIMATE.start_main_p2 = [-inf; -1]; v_1358 + v_1362 = [1; 1]; v_1358 - v_1362 = [-1; -1]; b_80 - b_81 = [-1; -1]; ULTIMATE.start_malloc_ptr - b_81 = [-1; -1]; ULTIMATE.start_main_p1 - b_81 = [-inf; -2]; ULTIMATE.start_main_p2 - b_81 = [-1; -1]; v_1358 + v_1367 = [-inf; 0]; v_1358 - v_1367 = [0; inf]; v_1365 + v_1367 = [-inf; 0]; v_1365 - v_1367 = [0; inf]; v_1362 + v_1367 = [-inf; 1]; v_1362 - v_1367 = [1; inf]; b_80 - b_83 = [-1; -1]; ULTIMATE.start_malloc_ptr - b_83 = [-1; -1]; b_82 - b_83 = [-1; -1]; ULTIMATE.start_main_p1 - b_83 = [-inf; -2]; ULTIMATE.start_main_p2 - b_83 = [-1; -1]; b_81 - b_83 = [0; 0]; b_80 - b_84 = [1; inf]; ULTIMATE.start_malloc_ptr - b_84 = [1; inf]; b_82 - b_84 = [1; inf]; ULTIMATE.start_main_p1 - b_84 = [0; 0]; ULTIMATE.start_main_p2 - b_84 = [1; inf]; b_81 - b_84 = [2; inf]; b_83 - b_84 = [2; inf]}, }}} [2019-02-14 16:52:59,787 WARN L628 ntHoareTripleChecker]: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p1 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p1) 1))) (#memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1];) [2019-02-14 16:52:59,788 WARN L629 ntHoareTripleChecker]: Post: {#1{Arrays: {}, Substate: false}} [2019-02-14 16:52:59,788 WARN L630 ntHoareTripleChecker]: -- [2019-02-14 16:53:01,562 WARN L214 ngHoareTripleChecker]: Soundness check failed for the following hoare triple [2019-02-14 16:53:01,562 WARN L217 ngHoareTripleChecker]: Expected: UNKNOWN Actual: INVALID [2019-02-14 16:53:01,562 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-02-14 16:53:01,563 WARN L223 ngHoareTripleChecker]: -- [2019-02-14 16:53:01,563 WARN L224 ngHoareTripleChecker]: Pre: {160#(forall ((v_idx_1742 Int) (v_idx_1738 Int) (v_idx_1735 Int) (v_idx_1744 Int)) (and (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) (or (= 0 (select |c_#memory_int| v_idx_1742)) (< v_idx_1742 c_ULTIMATE.start_main_p1) (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_1742)) (<= (- c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_malloc_ptr) (- 1)) (<= (- (- c_ULTIMATE.start_main_p2) (- c_ULTIMATE.start_malloc_ptr)) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_main_p2) (- 1)) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p2) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_main_p2) (or (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_1744) (< v_idx_1744 c_ULTIMATE.start_malloc_ptr) (and (<= (* 2 (select |c_#memory_int| v_idx_1744)) 0) (<= (select |c_#memory_int| v_idx_1744) 0))) (or (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_1735) (< v_idx_1735 c_ULTIMATE.start_malloc_ptr) (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_1735) 0)) (or (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_1738) (< v_idx_1738 c_ULTIMATE.start_malloc_ptr) (= (select |c_#valid| v_idx_1738) 1))))} [2019-02-14 16:53:01,563 WARN L228 ngHoareTripleChecker]: Action: #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; [2019-02-14 16:53:01,563 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p2 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p2) (- 1)))) [2019-02-14 16:53:01,563 WARN L230 ngHoareTripleChecker]: Post: {161#false} [2019-02-14 16:53:01,563 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-02-14 16:53:01,564 WARN L268 ngHoareTripleChecker]: -- [2019-02-14 16:53:01,564 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-02-14 16:53:01,620 WARN L270 ngHoareTripleChecker]: Pre: {160#(and (forall ((v_idx_1744 Int)) (or (<= (* 2 (select |#memory_int| v_idx_1744)) 0) (<= (+ ULTIMATE.start_main_p2 1) v_idx_1744) (< v_idx_1744 ULTIMATE.start_malloc_ptr))) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_malloc_ptr) (forall ((v_idx_1742 Int)) (or (= 0 (select |#memory_int| v_idx_1742)) (< v_idx_1742 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_idx_1742))) (<= (- (- ULTIMATE.start_main_p2) (- ULTIMATE.start_malloc_ptr)) 0) (forall ((v_idx_1738 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_idx_1738) (< v_idx_1738 ULTIMATE.start_malloc_ptr) (= (select |#valid| v_idx_1738) 1))) (forall ((v_idx_1735 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_idx_1735) (< v_idx_1735 ULTIMATE.start_malloc_ptr) (= (select |ULTIMATE.start_malloc_old_#valid| v_idx_1735) 0))) (<= ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) (<= (- ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) 0) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_malloc_ptr) (- 1)) (forall ((v_prenex_8 Int)) (or (< v_prenex_8 ULTIMATE.start_malloc_ptr) (<= (select |#memory_int| v_prenex_8) 0) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_8))) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (- 1)) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2))} [2019-02-14 16:53:01,620 WARN L274 ngHoareTripleChecker]: Action: #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; [2019-02-14 16:53:01,621 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p2 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p2) (- 1)))) [2019-02-14 16:53:01,622 WARN L276 ngHoareTripleChecker]: Post: {161#false} [2019-02-14 16:53:01,622 WARN L620 ntHoareTripleChecker]: -- [2019-02-14 16:53:01,622 WARN L621 ntHoareTripleChecker]: Abstract states [2019-02-14 16:53:01,623 WARN L623 ntHoareTripleChecker]: PreS: {#1{Arrays: {[#memory_int] -> [-inf_0] v_1364 [b_84] v_1365 [b_85] v_1366 [b_86] v_1367 [b_87] v_1368 [inf_0], [#valid] -> [-inf_0] v_1361 [b_82] v_1362 [b_83] v_1363 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_1357 [b_80] v_1358 [b_81] v_1359 [inf_0], [old(#memory_int)] -> [-inf_0] v_1970 [inf_0], [old(#valid)] -> [-inf_0] v_1969 [inf_0], }, Substate: {ints: {v_1358 = [0; 0]; v_1365 = [0; 0]; v_1362 = [1; 1]; v_1367 = [-inf; 0]}, 20 vars top, relations: {b_86 - b_87 = [-1; -1]; b_80 - b_87 = [-1; -1]; b_85 - b_87 = [-inf; -1]; ULTIMATE.start_malloc_ptr - b_87 = [-1; -1]; b_82 - b_87 = [-1; -1]; ULTIMATE.start_main_p1 - b_87 = [-inf; -2]; ULTIMATE.start_main_p2 - b_87 = [-1; -1]; b_81 - b_87 = [0; 0]; b_83 - b_87 = [0; 0]; b_84 - b_87 = [-inf; -2]; b_80 - b_86 = [0; 0]; b_85 - b_86 = [-inf; 0]; ULTIMATE.start_malloc_ptr - b_86 = [0; 0]; b_82 - b_86 = [0; 0]; ULTIMATE.start_main_p1 - b_86 = [-inf; -1]; ULTIMATE.start_main_p2 - b_86 = [0; 0]; b_81 - b_86 = [1; 1]; b_83 - b_86 = [1; 1]; b_84 - b_86 = [-inf; -1]; ULTIMATE.start_malloc_ptr - b_80 = [0; 0]; ULTIMATE.start_main_p1 - b_80 = [-inf; -1]; ULTIMATE.start_main_p2 - b_80 = [0; 0]; b_80 - b_85 = [0; inf]; ULTIMATE.start_malloc_ptr - b_85 = [0; inf]; b_82 - b_85 = [0; inf]; ULTIMATE.start_main_p1 - b_85 = [-1; -1]; ULTIMATE.start_main_p2 - b_85 = [0; inf]; b_81 - b_85 = [1; inf]; b_83 - b_85 = [1; inf]; b_84 - b_85 = [-1; -1]; ULTIMATE.start_main_p1 - ULTIMATE.start_malloc_ptr = [-inf; -1]; ULTIMATE.start_main_p2 - ULTIMATE.start_malloc_ptr = [0; 0]; v_1358 + v_1365 = [0; 0]; v_1358 - v_1365 = [0; 0]; v_1362 + v_1365 = [1; 1]; v_1362 - v_1365 = [1; 1]; b_80 - b_82 = [0; 0]; ULTIMATE.start_malloc_ptr - b_82 = [0; 0]; ULTIMATE.start_main_p1 - b_82 = [-inf; -1]; ULTIMATE.start_main_p2 - b_82 = [0; 0]; b_81 - b_82 = [1; 1]; ULTIMATE.start_main_p1 - ULTIMATE.start_main_p2 = [-inf; -1]; v_1358 + v_1362 = [1; 1]; v_1358 - v_1362 = [-1; -1]; b_80 - b_81 = [-1; -1]; ULTIMATE.start_malloc_ptr - b_81 = [-1; -1]; ULTIMATE.start_main_p1 - b_81 = [-inf; -2]; ULTIMATE.start_main_p2 - b_81 = [-1; -1]; v_1358 + v_1367 = [-inf; 0]; v_1358 - v_1367 = [0; inf]; v_1365 + v_1367 = [-inf; 0]; v_1365 - v_1367 = [0; inf]; v_1362 + v_1367 = [-inf; 1]; v_1362 - v_1367 = [1; inf]; b_80 - b_83 = [-1; -1]; ULTIMATE.start_malloc_ptr - b_83 = [-1; -1]; b_82 - b_83 = [-1; -1]; ULTIMATE.start_main_p1 - b_83 = [-inf; -2]; ULTIMATE.start_main_p2 - b_83 = [-1; -1]; b_81 - b_83 = [0; 0]; b_80 - b_84 = [1; inf]; ULTIMATE.start_malloc_ptr - b_84 = [1; inf]; b_82 - b_84 = [1; inf]; ULTIMATE.start_main_p1 - b_84 = [0; 0]; ULTIMATE.start_main_p2 - b_84 = [1; inf]; b_81 - b_84 = [2; inf]; b_83 - b_84 = [2; inf]}, }}} [2019-02-14 16:53:01,623 WARN L628 ntHoareTripleChecker]: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p2 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p2) (- 1)))) (#memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1];) [2019-02-14 16:53:01,623 WARN L629 ntHoareTripleChecker]: Post: {#1{Arrays: {}, Substate: false}} [2019-02-14 16:53:01,624 WARN L630 ntHoareTripleChecker]: -- [2019-02-14 16:53:02,535 WARN L214 ngHoareTripleChecker]: Soundness check failed for the following hoare triple [2019-02-14 16:53:02,536 WARN L217 ngHoareTripleChecker]: Expected: UNKNOWN Actual: INVALID [2019-02-14 16:53:02,536 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-02-14 16:53:02,536 WARN L223 ngHoareTripleChecker]: -- [2019-02-14 16:53:02,536 WARN L224 ngHoareTripleChecker]: Pre: {164#true} [2019-02-14 16:53:02,536 WARN L228 ngHoareTripleChecker]: Action: #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; [2019-02-14 16:53:02,537 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p2 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p2) (- 1)))) [2019-02-14 16:53:02,537 WARN L230 ngHoareTripleChecker]: Post: {165#(forall ((v_idx_1785 Int) (v_idx_1793 Int) (v_idx_1791 Int) (v_idx_1788 Int)) (and (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) (<= (- c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) 0) (or (< v_idx_1793 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_1793) (and (<= (select |c_#memory_int| v_idx_1793) 0) (<= (* 2 (select |c_#memory_int| v_idx_1793)) 0))) (or (< v_idx_1785 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_1785) (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_1785) 0)) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_malloc_ptr) (- 1)) (<= (- (- c_ULTIMATE.start_main_p2) (- c_ULTIMATE.start_malloc_ptr)) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_main_p2) (- 1)) (or (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_1791) (= (select |c_#memory_int| v_idx_1791) 0) (< v_idx_1791 c_ULTIMATE.start_main_p1)) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p2) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_main_p2) (or (< v_idx_1788 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_1788) (= 1 (select |c_#valid| v_idx_1788)))))} [2019-02-14 16:53:02,537 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-02-14 16:53:02,537 WARN L268 ngHoareTripleChecker]: -- [2019-02-14 16:53:02,537 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-02-14 16:53:02,538 WARN L270 ngHoareTripleChecker]: Pre: {164#true} [2019-02-14 16:53:02,538 WARN L274 ngHoareTripleChecker]: Action: #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; [2019-02-14 16:53:02,539 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p2 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p2) (- 1)))) [2019-02-14 16:53:02,600 WARN L276 ngHoareTripleChecker]: Post: {165#(and (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_malloc_ptr) (forall ((v_idx_1791 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_idx_1791) (= (select |#memory_int| v_idx_1791) 0) (< v_idx_1791 ULTIMATE.start_main_p1))) (<= (- (- ULTIMATE.start_main_p2) (- ULTIMATE.start_malloc_ptr)) 0) (forall ((v_idx_1788 Int)) (or (< v_idx_1788 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_idx_1788) (= 1 (select |#valid| v_idx_1788)))) (forall ((v_idx_1793 Int)) (or (<= (select |#memory_int| v_idx_1793) 0) (< v_idx_1793 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_idx_1793))) (<= ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) (<= (- ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) 0) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_malloc_ptr) (- 1)) (forall ((v_idx_1785 Int)) (or (< v_idx_1785 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_idx_1785) (= (select |ULTIMATE.start_malloc_old_#valid| v_idx_1785) 0))) (forall ((v_prenex_9 Int)) (or (< v_prenex_9 ULTIMATE.start_malloc_ptr) (<= (* 2 (select |#memory_int| v_prenex_9)) 0) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_9))) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (- 1)) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2))} [2019-02-14 16:53:02,600 WARN L620 ntHoareTripleChecker]: -- [2019-02-14 16:53:02,600 WARN L621 ntHoareTripleChecker]: Abstract states [2019-02-14 16:53:02,601 WARN L623 ntHoareTripleChecker]: PreS: {#1{Arrays: {[#memory_int] -> [-inf_0] v_1977 [inf_0], [#valid] -> [-inf_0] v_1975 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_1974 [inf_0], [old(#memory_int)] -> [-inf_0] v_1978 [inf_0], [old(#valid)] -> [-inf_0] v_1976 [inf_0], }, Substate: {8 vars top, }}} [2019-02-14 16:53:02,601 WARN L628 ntHoareTripleChecker]: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p2 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p2) (- 1)))) (#memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1];) [2019-02-14 16:53:02,601 WARN L629 ntHoareTripleChecker]: Post: {#1{Arrays: {[#memory_int] -> [-inf_0] v_1364 [b_84] v_1365 [b_85] v_1366 [b_86] v_1367 [b_87] v_1368 [inf_0], [#valid] -> [-inf_0] v_1361 [b_82] v_1362 [b_83] v_1363 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_1357 [b_80] v_1358 [b_81] v_1359 [inf_0], }, Substate: {ints: {v_1362 = [1; 1]; v_1358 = [0; 0]; v_1365 = [0; 0]; v_1367 = [-inf; 0]}, 18 vars top, relations: {b_80 - b_86 = [0; 0]; ULTIMATE.start_malloc_ptr - b_86 = [0; 0]; b_82 - b_86 = [0; 0]; b_83 - b_86 = [1; 1]; b_85 - b_86 = [-inf; 0]; ULTIMATE.start_main_p1 - b_86 = [-inf; -1]; ULTIMATE.start_main_p2 - b_86 = [0; 0]; b_81 - b_86 = [1; 1]; b_84 - b_86 = [-inf; -1]; ULTIMATE.start_malloc_ptr - b_80 = [0; 0]; ULTIMATE.start_main_p1 - b_80 = [-inf; -1]; ULTIMATE.start_main_p2 - b_80 = [0; 0]; ULTIMATE.start_main_p1 - ULTIMATE.start_malloc_ptr = [-inf; -1]; ULTIMATE.start_main_p2 - ULTIMATE.start_malloc_ptr = [0; 0]; b_80 - b_82 = [0; 0]; ULTIMATE.start_malloc_ptr - b_82 = [0; 0]; ULTIMATE.start_main_p1 - b_82 = [-inf; -1]; ULTIMATE.start_main_p2 - b_82 = [0; 0]; b_81 - b_82 = [1; 1]; v_1358 + v_1362 = [1; 1]; v_1358 - v_1362 = [-1; -1]; b_80 - b_83 = [-1; -1]; ULTIMATE.start_malloc_ptr - b_83 = [-1; -1]; b_82 - b_83 = [-1; -1]; ULTIMATE.start_main_p1 - b_83 = [-inf; -2]; ULTIMATE.start_main_p2 - b_83 = [-1; -1]; b_81 - b_83 = [0; 0]; b_86 - b_87 = [-1; -1]; b_80 - b_87 = [-1; -1]; ULTIMATE.start_malloc_ptr - b_87 = [-1; -1]; b_82 - b_87 = [-1; -1]; b_83 - b_87 = [0; 0]; b_85 - b_87 = [-inf; -1]; ULTIMATE.start_main_p1 - b_87 = [-inf; -2]; ULTIMATE.start_main_p2 - b_87 = [-1; -1]; b_81 - b_87 = [0; 0]; b_84 - b_87 = [-inf; -2]; b_80 - b_85 = [0; inf]; ULTIMATE.start_malloc_ptr - b_85 = [0; inf]; b_82 - b_85 = [0; inf]; b_83 - b_85 = [1; inf]; ULTIMATE.start_main_p1 - b_85 = [-1; -1]; ULTIMATE.start_main_p2 - b_85 = [0; inf]; b_81 - b_85 = [1; inf]; b_84 - b_85 = [-1; -1]; v_1362 + v_1365 = [1; 1]; v_1362 - v_1365 = [1; 1]; v_1358 + v_1365 = [0; 0]; v_1358 - v_1365 = [0; 0]; ULTIMATE.start_main_p1 - ULTIMATE.start_main_p2 = [-inf; -1]; b_80 - b_81 = [-1; -1]; ULTIMATE.start_malloc_ptr - b_81 = [-1; -1]; ULTIMATE.start_main_p1 - b_81 = [-inf; -2]; ULTIMATE.start_main_p2 - b_81 = [-1; -1]; v_1362 + v_1367 = [-inf; 1]; v_1362 - v_1367 = [1; inf]; v_1358 + v_1367 = [-inf; 0]; v_1358 - v_1367 = [0; inf]; v_1365 + v_1367 = [-inf; 0]; v_1365 - v_1367 = [0; inf]; b_80 - b_84 = [1; inf]; ULTIMATE.start_malloc_ptr - b_84 = [1; inf]; b_82 - b_84 = [1; inf]; b_83 - b_84 = [2; inf]; ULTIMATE.start_main_p1 - b_84 = [0; 0]; ULTIMATE.start_main_p2 - b_84 = [1; inf]; b_81 - b_84 = [2; inf]}, }}} [2019-02-14 16:53:02,602 WARN L630 ntHoareTripleChecker]: -- [2019-02-14 16:53:02,769 WARN L214 ngHoareTripleChecker]: Soundness check failed for the following hoare triple [2019-02-14 16:53:02,769 WARN L217 ngHoareTripleChecker]: Expected: UNKNOWN Actual: INVALID [2019-02-14 16:53:02,769 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-02-14 16:53:02,770 WARN L223 ngHoareTripleChecker]: -- [2019-02-14 16:53:02,770 WARN L224 ngHoareTripleChecker]: Pre: {169#(forall ((v_idx_1796 Int) (v_idx_1805 Int) (v_idx_1803 Int) (v_idx_1799 Int)) (and (or (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_1796) (= 0 (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_1796)) (< v_idx_1796 c_ULTIMATE.start_main_p2)) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) (<= (- c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_malloc_ptr) (- 1)) (<= (- (- c_ULTIMATE.start_main_p2) (- c_ULTIMATE.start_malloc_ptr)) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_main_p2) (- 1)) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p2) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_main_p2) (or (= 1 (select |c_#valid| v_idx_1799)) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_1799) (< v_idx_1799 c_ULTIMATE.start_main_p2)) (or (< v_idx_1805 c_ULTIMATE.start_main_p2) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_1805) (and (<= (* 2 (select |c_#memory_int| v_idx_1805)) 0) (<= (select |c_#memory_int| v_idx_1805) 0))) (or (= 0 (select |c_#memory_int| v_idx_1803)) (< v_idx_1803 c_ULTIMATE.start_main_p1) (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_1803))))} [2019-02-14 16:53:02,770 WARN L228 ngHoareTripleChecker]: Action: assume #memory_int[main_p1] >= 0; [2019-02-14 16:53:02,771 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (<= 0 (select |c_#memory_int| c_ULTIMATE.start_main_p1)) [2019-02-14 16:53:02,771 WARN L230 ngHoareTripleChecker]: Post: {170#false} [2019-02-14 16:53:02,771 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-02-14 16:53:02,772 WARN L268 ngHoareTripleChecker]: -- [2019-02-14 16:53:02,772 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-02-14 16:53:02,825 WARN L270 ngHoareTripleChecker]: Pre: {169#(and (forall ((v_idx_1805 Int)) (or (<= (* 2 (select |#memory_int| v_idx_1805)) 0) (< v_idx_1805 ULTIMATE.start_main_p2) (<= (+ ULTIMATE.start_main_p2 1) v_idx_1805))) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_malloc_ptr) (forall ((v_idx_1796 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_idx_1796) (= 0 (select |ULTIMATE.start_malloc_old_#valid| v_idx_1796)) (< v_idx_1796 ULTIMATE.start_main_p2))) (<= (- (- ULTIMATE.start_main_p2) (- ULTIMATE.start_malloc_ptr)) 0) (<= ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) (forall ((v_prenex_10 Int)) (or (<= (select |#memory_int| v_prenex_10) 0) (< v_prenex_10 ULTIMATE.start_main_p2) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_10))) (<= (- ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) 0) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_malloc_ptr) (- 1)) (forall ((v_idx_1803 Int)) (or (= 0 (select |#memory_int| v_idx_1803)) (< v_idx_1803 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_idx_1803))) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (- 1)) (forall ((v_idx_1799 Int)) (or (= 1 (select |#valid| v_idx_1799)) (<= (+ ULTIMATE.start_main_p2 1) v_idx_1799) (< v_idx_1799 ULTIMATE.start_main_p2))) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2))} [2019-02-14 16:53:02,826 WARN L274 ngHoareTripleChecker]: Action: assume #memory_int[main_p1] >= 0; [2019-02-14 16:53:02,826 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (<= 0 (select |c_#memory_int| c_ULTIMATE.start_main_p1)) [2019-02-14 16:53:02,827 WARN L276 ngHoareTripleChecker]: Post: {170#false} [2019-02-14 16:53:02,827 WARN L620 ntHoareTripleChecker]: -- [2019-02-14 16:53:02,827 WARN L621 ntHoareTripleChecker]: Abstract states [2019-02-14 16:53:02,828 WARN L623 ntHoareTripleChecker]: PreS: {#1{Arrays: {[#memory_int] -> [-inf_0] v_1364 [b_84] v_1365 [b_85] v_1366 [b_86] v_1367 [b_87] v_1368 [inf_0], [#valid] -> [-inf_0] v_1361 [b_82] v_1362 [b_83] v_1363 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_1357 [b_80] v_1358 [b_81] v_1359 [inf_0], [old(#memory_int)] -> [-inf_0] v_2005 [inf_0], [old(#valid)] -> [-inf_0] v_2004 [inf_0], }, Substate: {ints: {v_1358 = [0; 0]; v_1365 = [0; 0]; v_1362 = [1; 1]; v_1367 = [-inf; 0]}, 20 vars top, relations: {b_86 - b_87 = [-1; -1]; b_80 - b_87 = [-1; -1]; b_85 - b_87 = [-inf; -1]; ULTIMATE.start_malloc_ptr - b_87 = [-1; -1]; b_82 - b_87 = [-1; -1]; ULTIMATE.start_main_p1 - b_87 = [-inf; -2]; ULTIMATE.start_main_p2 - b_87 = [-1; -1]; b_81 - b_87 = [0; 0]; b_83 - b_87 = [0; 0]; b_84 - b_87 = [-inf; -2]; b_80 - b_86 = [0; 0]; b_85 - b_86 = [-inf; 0]; ULTIMATE.start_malloc_ptr - b_86 = [0; 0]; b_82 - b_86 = [0; 0]; ULTIMATE.start_main_p1 - b_86 = [-inf; -1]; ULTIMATE.start_main_p2 - b_86 = [0; 0]; b_81 - b_86 = [1; 1]; b_83 - b_86 = [1; 1]; b_84 - b_86 = [-inf; -1]; ULTIMATE.start_malloc_ptr - b_80 = [0; 0]; ULTIMATE.start_main_p1 - b_80 = [-inf; -1]; ULTIMATE.start_main_p2 - b_80 = [0; 0]; b_80 - b_85 = [0; inf]; ULTIMATE.start_malloc_ptr - b_85 = [0; inf]; b_82 - b_85 = [0; inf]; ULTIMATE.start_main_p1 - b_85 = [-1; -1]; ULTIMATE.start_main_p2 - b_85 = [0; inf]; b_81 - b_85 = [1; inf]; b_83 - b_85 = [1; inf]; b_84 - b_85 = [-1; -1]; ULTIMATE.start_main_p1 - ULTIMATE.start_malloc_ptr = [-inf; -1]; ULTIMATE.start_main_p2 - ULTIMATE.start_malloc_ptr = [0; 0]; v_1358 + v_1365 = [0; 0]; v_1358 - v_1365 = [0; 0]; v_1362 + v_1365 = [1; 1]; v_1362 - v_1365 = [1; 1]; b_80 - b_82 = [0; 0]; ULTIMATE.start_malloc_ptr - b_82 = [0; 0]; ULTIMATE.start_main_p1 - b_82 = [-inf; -1]; ULTIMATE.start_main_p2 - b_82 = [0; 0]; b_81 - b_82 = [1; 1]; ULTIMATE.start_main_p1 - ULTIMATE.start_main_p2 = [-inf; -1]; v_1358 + v_1362 = [1; 1]; v_1358 - v_1362 = [-1; -1]; b_80 - b_81 = [-1; -1]; ULTIMATE.start_malloc_ptr - b_81 = [-1; -1]; ULTIMATE.start_main_p1 - b_81 = [-inf; -2]; ULTIMATE.start_main_p2 - b_81 = [-1; -1]; v_1358 + v_1367 = [-inf; 0]; v_1358 - v_1367 = [0; inf]; v_1365 + v_1367 = [-inf; 0]; v_1365 - v_1367 = [0; inf]; v_1362 + v_1367 = [-inf; 1]; v_1362 - v_1367 = [1; inf]; b_80 - b_83 = [-1; -1]; ULTIMATE.start_malloc_ptr - b_83 = [-1; -1]; b_82 - b_83 = [-1; -1]; ULTIMATE.start_main_p1 - b_83 = [-inf; -2]; ULTIMATE.start_main_p2 - b_83 = [-1; -1]; b_81 - b_83 = [0; 0]; b_80 - b_84 = [1; inf]; ULTIMATE.start_malloc_ptr - b_84 = [1; inf]; b_82 - b_84 = [1; inf]; ULTIMATE.start_main_p1 - b_84 = [0; 0]; ULTIMATE.start_main_p2 - b_84 = [1; inf]; b_81 - b_84 = [2; inf]; b_83 - b_84 = [2; inf]}, }}} [2019-02-14 16:53:02,828 WARN L628 ntHoareTripleChecker]: (<= 0 (select |c_#memory_int| c_ULTIMATE.start_main_p1)) (assume #memory_int[main_p1] >= 0;) [2019-02-14 16:53:02,829 WARN L629 ntHoareTripleChecker]: Post: {#1{Arrays: {}, Substate: false}} [2019-02-14 16:53:02,829 WARN L630 ntHoareTripleChecker]: -- [2019-02-14 16:53:04,453 WARN L214 ngHoareTripleChecker]: Soundness check failed for the following hoare triple [2019-02-14 16:53:04,454 WARN L217 ngHoareTripleChecker]: Expected: UNKNOWN Actual: INVALID [2019-02-14 16:53:04,454 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-02-14 16:53:04,454 WARN L223 ngHoareTripleChecker]: -- [2019-02-14 16:53:04,454 WARN L224 ngHoareTripleChecker]: Pre: {175#true} [2019-02-14 16:53:04,454 WARN L228 ngHoareTripleChecker]: Action: assume #memory_int[main_p1] >= 0; [2019-02-14 16:53:04,454 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (<= 0 (select |c_#memory_int| c_ULTIMATE.start_main_p1)) [2019-02-14 16:53:04,455 WARN L230 ngHoareTripleChecker]: Post: {176#(forall ((v_idx_1894 Int) (v_idx_1902 Int) (v_idx_1900 Int) (v_idx_1897 Int)) (and (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) (<= (- c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_malloc_ptr) (- 1)) (<= (- (- c_ULTIMATE.start_main_p2) (- c_ULTIMATE.start_malloc_ptr)) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_main_p2) (- 1)) (or (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_1894) 0) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_1894) (< v_idx_1894 c_ULTIMATE.start_malloc_ptr)) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p2) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_main_p2) (or (and (<= (* 2 (select |c_#memory_int| v_idx_1902)) 0) (<= (select |c_#memory_int| v_idx_1902) 0)) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_1902) (< v_idx_1902 c_ULTIMATE.start_malloc_ptr)) (or (= 0 (select |c_#memory_int| v_idx_1900)) (< v_idx_1900 c_ULTIMATE.start_main_p1) (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_1900)) (or (= 1 (select |c_#valid| v_idx_1897)) (< v_idx_1897 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_1897))))} [2019-02-14 16:53:04,455 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-02-14 16:53:04,455 WARN L268 ngHoareTripleChecker]: -- [2019-02-14 16:53:04,455 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-02-14 16:53:04,458 WARN L270 ngHoareTripleChecker]: Pre: {175#true} [2019-02-14 16:53:04,458 WARN L274 ngHoareTripleChecker]: Action: assume #memory_int[main_p1] >= 0; [2019-02-14 16:53:04,458 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (<= 0 (select |c_#memory_int| c_ULTIMATE.start_main_p1)) [2019-02-14 16:53:04,492 WARN L276 ngHoareTripleChecker]: Post: {176#(and (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_malloc_ptr) (forall ((v_idx_1900 Int)) (or (= 0 (select |#memory_int| v_idx_1900)) (< v_idx_1900 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_idx_1900))) (forall ((v_idx_1894 Int)) (or (= (select |ULTIMATE.start_malloc_old_#valid| v_idx_1894) 0) (<= (+ ULTIMATE.start_main_p2 1) v_idx_1894) (< v_idx_1894 ULTIMATE.start_malloc_ptr))) (<= (- (- ULTIMATE.start_main_p2) (- ULTIMATE.start_malloc_ptr)) 0) (forall ((v_idx_1897 Int)) (or (= 1 (select |#valid| v_idx_1897)) (< v_idx_1897 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_idx_1897))) (forall ((v_prenex_11 Int)) (or (<= (* 2 (select |#memory_int| v_prenex_11)) 0) (< v_prenex_11 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_11))) (<= ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) (<= (- ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) 0) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_malloc_ptr) (- 1)) (forall ((v_idx_1902 Int)) (or (<= (select |#memory_int| v_idx_1902) 0) (<= (+ ULTIMATE.start_main_p2 1) v_idx_1902) (< v_idx_1902 ULTIMATE.start_malloc_ptr))) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (- 1)) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2))} [2019-02-14 16:53:04,493 WARN L620 ntHoareTripleChecker]: -- [2019-02-14 16:53:04,493 WARN L621 ntHoareTripleChecker]: Abstract states [2019-02-14 16:53:04,493 WARN L623 ntHoareTripleChecker]: PreS: {#1{Arrays: {[#memory_int] -> [-inf_0] v_2042 [inf_0], [#valid] -> [-inf_0] v_2040 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_2039 [inf_0], [old(#memory_int)] -> [-inf_0] v_2043 [inf_0], [old(#valid)] -> [-inf_0] v_2041 [inf_0], }, Substate: {8 vars top, }}} [2019-02-14 16:53:04,493 WARN L628 ntHoareTripleChecker]: (<= 0 (select |c_#memory_int| c_ULTIMATE.start_main_p1)) (assume #memory_int[main_p1] >= 0;) [2019-02-14 16:53:04,494 WARN L629 ntHoareTripleChecker]: Post: {#1{Arrays: {[#memory_int] -> [-inf_0] v_1364 [b_84] v_1365 [b_85] v_1366 [b_86] v_1367 [b_87] v_1368 [inf_0], [#valid] -> [-inf_0] v_1361 [b_82] v_1362 [b_83] v_1363 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_1357 [b_80] v_1358 [b_81] v_1359 [inf_0], }, Substate: {ints: {v_1362 = [1; 1]; v_1358 = [0; 0]; v_1365 = [0; 0]; v_1367 = [-inf; 0]}, 18 vars top, relations: {b_80 - b_86 = [0; 0]; ULTIMATE.start_malloc_ptr - b_86 = [0; 0]; b_82 - b_86 = [0; 0]; b_83 - b_86 = [1; 1]; b_85 - b_86 = [-inf; 0]; ULTIMATE.start_main_p1 - b_86 = [-inf; -1]; ULTIMATE.start_main_p2 - b_86 = [0; 0]; b_81 - b_86 = [1; 1]; b_84 - b_86 = [-inf; -1]; ULTIMATE.start_malloc_ptr - b_80 = [0; 0]; ULTIMATE.start_main_p1 - b_80 = [-inf; -1]; ULTIMATE.start_main_p2 - b_80 = [0; 0]; ULTIMATE.start_main_p1 - ULTIMATE.start_malloc_ptr = [-inf; -1]; ULTIMATE.start_main_p2 - ULTIMATE.start_malloc_ptr = [0; 0]; b_80 - b_82 = [0; 0]; ULTIMATE.start_malloc_ptr - b_82 = [0; 0]; ULTIMATE.start_main_p1 - b_82 = [-inf; -1]; ULTIMATE.start_main_p2 - b_82 = [0; 0]; b_81 - b_82 = [1; 1]; v_1358 + v_1362 = [1; 1]; v_1358 - v_1362 = [-1; -1]; b_80 - b_83 = [-1; -1]; ULTIMATE.start_malloc_ptr - b_83 = [-1; -1]; b_82 - b_83 = [-1; -1]; ULTIMATE.start_main_p1 - b_83 = [-inf; -2]; ULTIMATE.start_main_p2 - b_83 = [-1; -1]; b_81 - b_83 = [0; 0]; b_86 - b_87 = [-1; -1]; b_80 - b_87 = [-1; -1]; ULTIMATE.start_malloc_ptr - b_87 = [-1; -1]; b_82 - b_87 = [-1; -1]; b_83 - b_87 = [0; 0]; b_85 - b_87 = [-inf; -1]; ULTIMATE.start_main_p1 - b_87 = [-inf; -2]; ULTIMATE.start_main_p2 - b_87 = [-1; -1]; b_81 - b_87 = [0; 0]; b_84 - b_87 = [-inf; -2]; b_80 - b_85 = [0; inf]; ULTIMATE.start_malloc_ptr - b_85 = [0; inf]; b_82 - b_85 = [0; inf]; b_83 - b_85 = [1; inf]; ULTIMATE.start_main_p1 - b_85 = [-1; -1]; ULTIMATE.start_main_p2 - b_85 = [0; inf]; b_81 - b_85 = [1; inf]; b_84 - b_85 = [-1; -1]; v_1362 + v_1365 = [1; 1]; v_1362 - v_1365 = [1; 1]; v_1358 + v_1365 = [0; 0]; v_1358 - v_1365 = [0; 0]; ULTIMATE.start_main_p1 - ULTIMATE.start_main_p2 = [-inf; -1]; b_80 - b_81 = [-1; -1]; ULTIMATE.start_malloc_ptr - b_81 = [-1; -1]; ULTIMATE.start_main_p1 - b_81 = [-inf; -2]; ULTIMATE.start_main_p2 - b_81 = [-1; -1]; v_1362 + v_1367 = [-inf; 1]; v_1362 - v_1367 = [1; inf]; v_1358 + v_1367 = [-inf; 0]; v_1358 - v_1367 = [0; inf]; v_1365 + v_1367 = [-inf; 0]; v_1365 - v_1367 = [0; inf]; b_80 - b_84 = [1; inf]; ULTIMATE.start_malloc_ptr - b_84 = [1; inf]; b_82 - b_84 = [1; inf]; b_83 - b_84 = [2; inf]; ULTIMATE.start_main_p1 - b_84 = [0; 0]; ULTIMATE.start_main_p2 - b_84 = [1; inf]; b_81 - b_84 = [2; inf]}, }}} [2019-02-14 16:53:04,494 WARN L630 ntHoareTripleChecker]: -- [2019-02-14 16:53:05,590 WARN L214 ngHoareTripleChecker]: Soundness check failed for the following hoare triple [2019-02-14 16:53:05,591 WARN L217 ngHoareTripleChecker]: Expected: UNKNOWN Actual: INVALID [2019-02-14 16:53:05,591 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-02-14 16:53:05,591 WARN L223 ngHoareTripleChecker]: -- [2019-02-14 16:53:05,591 WARN L224 ngHoareTripleChecker]: Pre: {181#true} [2019-02-14 16:53:05,591 WARN L228 ngHoareTripleChecker]: Action: assume !(#memory_int[main_p2] <= 0); [2019-02-14 16:53:05,591 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (not (<= (select |c_#memory_int| c_ULTIMATE.start_main_p2) 0)) [2019-02-14 16:53:05,592 WARN L230 ngHoareTripleChecker]: Post: {182#(forall ((v_idx_1961 Int) (v_idx_1958 Int) (v_idx_1955 Int) (v_idx_1963 Int)) (and (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) (<= (- c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_malloc_ptr) (- 1)) (or (< v_idx_1963 c_ULTIMATE.start_malloc_ptr) (and (<= (* 2 (select |c_#memory_int| v_idx_1963)) 0) (<= (select |c_#memory_int| v_idx_1963) 0)) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_1963)) (<= (- (- c_ULTIMATE.start_main_p2) (- c_ULTIMATE.start_malloc_ptr)) 0) (or (= 1 (select |c_#valid| v_idx_1958)) (< v_idx_1958 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_1958)) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_main_p2) (- 1)) (or (< v_idx_1955 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_1955) (= 0 (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_1955))) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p2) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_main_p2) (or (= (select |c_#memory_int| v_idx_1961) 0) (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_1961) (< v_idx_1961 c_ULTIMATE.start_main_p1))))} [2019-02-14 16:53:05,592 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-02-14 16:53:05,592 WARN L268 ngHoareTripleChecker]: -- [2019-02-14 16:53:05,592 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-02-14 16:53:05,593 WARN L270 ngHoareTripleChecker]: Pre: {181#true} [2019-02-14 16:53:05,593 WARN L274 ngHoareTripleChecker]: Action: assume !(#memory_int[main_p2] <= 0); [2019-02-14 16:53:05,593 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (not (<= (select |c_#memory_int| c_ULTIMATE.start_main_p2) 0)) [2019-02-14 16:53:05,660 WARN L276 ngHoareTripleChecker]: Post: {182#(and (forall ((v_idx_1958 Int)) (or (= 1 (select |#valid| v_idx_1958)) (< v_idx_1958 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_idx_1958))) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_malloc_ptr) (forall ((v_idx_1955 Int)) (or (< v_idx_1955 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_idx_1955) (= 0 (select |ULTIMATE.start_malloc_old_#valid| v_idx_1955)))) (forall ((v_idx_1961 Int)) (or (= (select |#memory_int| v_idx_1961) 0) (<= (+ ULTIMATE.start_main_p1 1) v_idx_1961) (< v_idx_1961 ULTIMATE.start_main_p1))) (<= (- (- ULTIMATE.start_main_p2) (- ULTIMATE.start_malloc_ptr)) 0) (forall ((v_idx_1963 Int)) (or (< v_idx_1963 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_idx_1963) (<= (select |#memory_int| v_idx_1963) 0))) (<= ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) (forall ((v_prenex_12 Int)) (or (< v_prenex_12 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_12) (<= (* 2 (select |#memory_int| v_prenex_12)) 0))) (<= (- ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) 0) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_malloc_ptr) (- 1)) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (- 1)) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2))} [2019-02-14 16:53:05,661 WARN L620 ntHoareTripleChecker]: -- [2019-02-14 16:53:05,661 WARN L621 ntHoareTripleChecker]: Abstract states [2019-02-14 16:53:05,661 WARN L623 ntHoareTripleChecker]: PreS: {#1{Arrays: {[#memory_int] -> [-inf_0] v_2077 [inf_0], [#valid] -> [-inf_0] v_2075 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_2074 [inf_0], [old(#memory_int)] -> [-inf_0] v_2078 [inf_0], [old(#valid)] -> [-inf_0] v_2076 [inf_0], }, Substate: {8 vars top, }}} [2019-02-14 16:53:05,661 WARN L628 ntHoareTripleChecker]: (not (<= (select |c_#memory_int| c_ULTIMATE.start_main_p2) 0)) (assume !(#memory_int[main_p2] <= 0);) [2019-02-14 16:53:05,662 WARN L629 ntHoareTripleChecker]: Post: {#1{Arrays: {[#memory_int] -> [-inf_0] v_1364 [b_84] v_1365 [b_85] v_1366 [b_86] v_1367 [b_87] v_1368 [inf_0], [#valid] -> [-inf_0] v_1361 [b_82] v_1362 [b_83] v_1363 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_1357 [b_80] v_1358 [b_81] v_1359 [inf_0], }, Substate: {ints: {v_1362 = [1; 1]; v_1358 = [0; 0]; v_1365 = [0; 0]; v_1367 = [-inf; 0]}, 18 vars top, relations: {b_80 - b_86 = [0; 0]; ULTIMATE.start_malloc_ptr - b_86 = [0; 0]; b_82 - b_86 = [0; 0]; b_83 - b_86 = [1; 1]; b_85 - b_86 = [-inf; 0]; ULTIMATE.start_main_p1 - b_86 = [-inf; -1]; ULTIMATE.start_main_p2 - b_86 = [0; 0]; b_81 - b_86 = [1; 1]; b_84 - b_86 = [-inf; -1]; ULTIMATE.start_malloc_ptr - b_80 = [0; 0]; ULTIMATE.start_main_p1 - b_80 = [-inf; -1]; ULTIMATE.start_main_p2 - b_80 = [0; 0]; ULTIMATE.start_main_p1 - ULTIMATE.start_malloc_ptr = [-inf; -1]; ULTIMATE.start_main_p2 - ULTIMATE.start_malloc_ptr = [0; 0]; b_80 - b_82 = [0; 0]; ULTIMATE.start_malloc_ptr - b_82 = [0; 0]; ULTIMATE.start_main_p1 - b_82 = [-inf; -1]; ULTIMATE.start_main_p2 - b_82 = [0; 0]; b_81 - b_82 = [1; 1]; v_1358 + v_1362 = [1; 1]; v_1358 - v_1362 = [-1; -1]; b_80 - b_83 = [-1; -1]; ULTIMATE.start_malloc_ptr - b_83 = [-1; -1]; b_82 - b_83 = [-1; -1]; ULTIMATE.start_main_p1 - b_83 = [-inf; -2]; ULTIMATE.start_main_p2 - b_83 = [-1; -1]; b_81 - b_83 = [0; 0]; b_86 - b_87 = [-1; -1]; b_80 - b_87 = [-1; -1]; ULTIMATE.start_malloc_ptr - b_87 = [-1; -1]; b_82 - b_87 = [-1; -1]; b_83 - b_87 = [0; 0]; b_85 - b_87 = [-inf; -1]; ULTIMATE.start_main_p1 - b_87 = [-inf; -2]; ULTIMATE.start_main_p2 - b_87 = [-1; -1]; b_81 - b_87 = [0; 0]; b_84 - b_87 = [-inf; -2]; b_80 - b_85 = [0; inf]; ULTIMATE.start_malloc_ptr - b_85 = [0; inf]; b_82 - b_85 = [0; inf]; b_83 - b_85 = [1; inf]; ULTIMATE.start_main_p1 - b_85 = [-1; -1]; ULTIMATE.start_main_p2 - b_85 = [0; inf]; b_81 - b_85 = [1; inf]; b_84 - b_85 = [-1; -1]; v_1362 + v_1365 = [1; 1]; v_1362 - v_1365 = [1; 1]; v_1358 + v_1365 = [0; 0]; v_1358 - v_1365 = [0; 0]; ULTIMATE.start_main_p1 - ULTIMATE.start_main_p2 = [-inf; -1]; b_80 - b_81 = [-1; -1]; ULTIMATE.start_malloc_ptr - b_81 = [-1; -1]; ULTIMATE.start_main_p1 - b_81 = [-inf; -2]; ULTIMATE.start_main_p2 - b_81 = [-1; -1]; v_1362 + v_1367 = [-inf; 1]; v_1362 - v_1367 = [1; inf]; v_1358 + v_1367 = [-inf; 0]; v_1358 - v_1367 = [0; inf]; v_1365 + v_1367 = [-inf; 0]; v_1365 - v_1367 = [0; inf]; b_80 - b_84 = [1; inf]; ULTIMATE.start_malloc_ptr - b_84 = [1; inf]; b_82 - b_84 = [1; inf]; b_83 - b_84 = [2; inf]; ULTIMATE.start_main_p1 - b_84 = [0; 0]; ULTIMATE.start_main_p2 - b_84 = [1; inf]; b_81 - b_84 = [2; inf]}, }}} [2019-02-14 16:53:05,662 WARN L630 ntHoareTripleChecker]: -- [2019-02-14 16:53:05,667 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:53:05,667 INFO L93 Difference]: Finished difference Result 11 states and 15 transitions. [2019-02-14 16:53:05,667 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2019-02-14 16:53:05,668 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 3 [2019-02-14 16:53:05,668 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:53:05,668 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-02-14 16:53:05,669 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 11 transitions. [2019-02-14 16:53:05,669 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2019-02-14 16:53:05,671 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 11 transitions. [2019-02-14 16:53:05,671 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 11 transitions. [2019-02-14 16:53:05,707 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2019-02-14 16:53:05,708 INFO L225 Difference]: With dead ends: 11 [2019-02-14 16:53:05,708 INFO L226 Difference]: Without dead ends: 8 [2019-02-14 16:53:05,708 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 0 SyntacticMatches, 1 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2019-02-14 16:53:05,708 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 8 states. [2019-02-14 16:53:05,759 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 8 to 8. [2019-02-14 16:53:05,759 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:53:05,759 INFO L82 GeneralOperation]: Start isEquivalent. First operand 8 states. Second operand 8 states. [2019-02-14 16:53:05,759 INFO L74 IsIncluded]: Start isIncluded. First operand 8 states. Second operand 8 states. [2019-02-14 16:53:05,760 INFO L87 Difference]: Start difference. First operand 8 states. Second operand 8 states. [2019-02-14 16:53:05,761 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:53:05,761 INFO L93 Difference]: Finished difference Result 8 states and 12 transitions. [2019-02-14 16:53:05,761 INFO L276 IsEmpty]: Start isEmpty. Operand 8 states and 12 transitions. [2019-02-14 16:53:05,762 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:53:05,762 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:53:05,762 INFO L74 IsIncluded]: Start isIncluded. First operand 8 states. Second operand 8 states. [2019-02-14 16:53:05,762 INFO L87 Difference]: Start difference. First operand 8 states. Second operand 8 states. [2019-02-14 16:53:05,764 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:53:05,764 INFO L93 Difference]: Finished difference Result 8 states and 12 transitions. [2019-02-14 16:53:05,764 INFO L276 IsEmpty]: Start isEmpty. Operand 8 states and 12 transitions. [2019-02-14 16:53:05,764 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:53:05,765 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:53:05,765 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:53:05,765 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:53:05,765 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 8 states. [2019-02-14 16:53:05,766 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 12 transitions. [2019-02-14 16:53:05,766 INFO L78 Accepts]: Start accepts. Automaton has 8 states and 12 transitions. Word has length 3 [2019-02-14 16:53:05,766 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:53:05,766 INFO L480 AbstractCegarLoop]: Abstraction has 8 states and 12 transitions. [2019-02-14 16:53:05,766 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2019-02-14 16:53:05,767 INFO L276 IsEmpty]: Start isEmpty. Operand 8 states and 12 transitions. [2019-02-14 16:53:05,767 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2019-02-14 16:53:05,767 INFO L394 BasicCegarLoop]: Found error trace [2019-02-14 16:53:05,767 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2019-02-14 16:53:05,767 INFO L423 AbstractCegarLoop]: === Iteration 4 === [ULTIMATE.startErr1ASSERT_VIOLATIONASSERT, ULTIMATE.startErr0ASSERT_VIOLATIONASSERT]=== [2019-02-14 16:53:05,768 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:53:05,768 INFO L82 PathProgramCache]: Analyzing trace with hash 929546, now seen corresponding path program 1 times [2019-02-14 16:53:05,768 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2019-02-14 16:53:05,769 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:53:05,769 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2019-02-14 16:53:05,769 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2019-02-14 16:53:05,769 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2019-02-14 16:53:05,776 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2019-02-14 16:53:05,907 INFO L273 TraceCheckUtils]: 0: Hoare triple {214#true} havoc main_p1, main_p2;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p1 := malloc_ptr;malloc_old_#valid := #valid;havoc malloc_ptr;havoc #valid;assume malloc_old_#valid[malloc_ptr] == 0;assume #valid == malloc_old_#valid[malloc_ptr := 1];main_p2 := malloc_ptr;assume main_p1 < main_p2;#memory_int := #memory_int[main_p1 := 0];#memory_int := #memory_int[main_p2 := 0]; {216#(and (= (select |#memory_int| ULTIMATE.start_main_p1) 0) (not (= ULTIMATE.start_main_p2 ULTIMATE.start_main_p1)))} is VALID [2019-02-14 16:53:05,908 INFO L273 TraceCheckUtils]: 1: Hoare triple {216#(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]; {217#(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:53:05,909 INFO L273 TraceCheckUtils]: 2: Hoare triple {217#(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]; {218#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} is VALID [2019-02-14 16:53:05,910 INFO L273 TraceCheckUtils]: 3: Hoare triple {218#(<= 1 (select |#memory_int| ULTIMATE.start_main_p1))} assume !(#memory_int[main_p1] >= 0); {215#false} is VALID [2019-02-14 16:53:05,911 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:53:05,911 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2019-02-14 16:53:05,911 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2019-02-14 16:53:05,912 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2019-02-14 16:53:05,912 INFO L207 CegarAbsIntRunner]: [0], [6], [8], [11] [2019-02-14 16:53:05,913 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2019-02-14 16:53:05,913 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2019-02-14 16:55:24,477 INFO L266 AbstractInterpreter]: Error location(s) were unreachable [2019-02-14 16:55:24,477 INFO L272 AbstractInterpreter]: Visited 4 different actions 31 times. Merged at 2 different actions 9 times. Widened at 2 different actions 5 times. Found 11 fixpoints after 2 different actions. Largest state had 0 variables. [2019-02-14 16:55:24,478 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2019-02-14 16:55:24,478 INFO L403 sIntCurrentIteration]: Generating AbsInt predicates [2019-02-14 16:55:31,506 INFO L418 sIntCurrentIteration]: Unifying AI predicates [2019-02-14 16:55:32,007 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_idx_3269 Int) (v_idx_3264 Int) (v_idx_3267 Int) (v_idx_3261 Int)) (let ((.cse1 (+ c_ULTIMATE.start_main_p2 1)) (.cse0 (+ c_ULTIMATE.start_main_p1 1))) (and (<= c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) (<= .cse0 c_ULTIMATE.start_malloc_ptr) (or (< v_idx_3264 c_ULTIMATE.start_malloc_ptr) (<= .cse1 v_idx_3264) (= 1 (select |c_#valid| v_idx_3264))) (let ((.cse7 (select |c_#memory_int| v_idx_3269))) (let ((.cse6 (<= (* 2 .cse7) 0)) (.cse8 (<= .cse7 0)) (.cse4 (<= .cse1 v_idx_3269)) (.cse5 (< v_idx_3269 c_ULTIMATE.start_malloc_ptr))) (let ((.cse2 (or (and .cse6 .cse8) .cse4 .cse5))) (or (and (<= .cse0 v_idx_3267) .cse2) (let ((.cse3 (select |c_#memory_int| v_idx_3267))) (and (<= 0 .cse3) (<= 0 (* 2 .cse3)) (or .cse4 .cse5 (and .cse6 (<= .cse7 .cse3) .cse8)))) (and .cse2 (< v_idx_3267 c_ULTIMATE.start_main_p1)))))) (or (<= .cse1 v_idx_3261) (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_3261) 0) (< v_idx_3261 c_ULTIMATE.start_malloc_ptr)) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p2) (<= .cse0 c_ULTIMATE.start_main_p2)))) is different from false [2019-02-14 16:55:32,334 INFO L420 sIntCurrentIteration]: We unified 3 AI predicates to 3 [2019-02-14 16:55:36,116 INFO L429 sIntCurrentIteration]: Finished generation of AbsInt predicates [2019-02-14 16:55:36,117 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2019-02-14 16:55:36,117 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [3] total 5 [2019-02-14 16:55:36,117 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2019-02-14 16:55:36,117 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 4 [2019-02-14 16:55:36,118 INFO L84 Accepts]: Finished accepts. word is accepted. [2019-02-14 16:55:36,118 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2019-02-14 16:55:36,136 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:55:36,136 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2019-02-14 16:55:36,136 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2019-02-14 16:55:36,136 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=4, Unknown=1, NotChecked=2, Total=12 [2019-02-14 16:55:36,136 INFO L87 Difference]: Start difference. First operand 8 states and 12 transitions. Second operand 4 states. [2019-02-14 16:55:37,715 WARN L214 ngHoareTripleChecker]: Soundness check failed for the following hoare triple [2019-02-14 16:55:37,715 WARN L217 ngHoareTripleChecker]: Expected: UNKNOWN Actual: INVALID [2019-02-14 16:55:37,715 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-02-14 16:55:37,715 WARN L223 ngHoareTripleChecker]: -- [2019-02-14 16:55:37,716 WARN L224 ngHoareTripleChecker]: Pre: {249#(forall ((v_idx_3489 Int) (v_idx_3495 Int) (v_idx_3486 Int) (v_idx_3493 Int)) (and (or (and (< v_idx_3493 c_ULTIMATE.start_main_p1) (or (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_3495) (and (<= (* 2 (select |c_#memory_int| v_idx_3495)) 0) (<= (select |c_#memory_int| v_idx_3495) 0)) (< v_idx_3495 c_ULTIMATE.start_malloc_ptr))) (and (<= 0 (select |c_#memory_int| v_idx_3493)) (<= 0 (* 2 (select |c_#memory_int| v_idx_3493))) (or (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_3495) (and (<= (select |c_#memory_int| v_idx_3495) (select |c_#memory_int| v_idx_3493)) (<= (* 2 (select |c_#memory_int| v_idx_3495)) 0) (<= (select |c_#memory_int| v_idx_3495) 0)) (< v_idx_3495 c_ULTIMATE.start_malloc_ptr))) (and (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_3493) (or (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_3495) (and (<= (* 2 (select |c_#memory_int| v_idx_3495)) 0) (<= (select |c_#memory_int| v_idx_3495) 0)) (< v_idx_3495 c_ULTIMATE.start_malloc_ptr)))) (or (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_3489) (= 1 (select |c_#valid| v_idx_3489)) (< v_idx_3489 c_ULTIMATE.start_malloc_ptr)) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) (<= (- c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_malloc_ptr) (- 1)) (or (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_3486) (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_3486) 0) (< v_idx_3486 c_ULTIMATE.start_malloc_ptr)) (<= (- (- c_ULTIMATE.start_main_p2) (- c_ULTIMATE.start_malloc_ptr)) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_main_p2) (- 1)) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_main_p2) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p2)))} [2019-02-14 16:55:37,716 WARN L228 ngHoareTripleChecker]: Action: #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; [2019-02-14 16:55:37,716 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p1 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p1) 1))) [2019-02-14 16:55:37,716 WARN L230 ngHoareTripleChecker]: Post: {250#false} [2019-02-14 16:55:37,716 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-02-14 16:55:37,717 WARN L268 ngHoareTripleChecker]: -- [2019-02-14 16:55:37,717 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-02-14 16:55:37,969 WARN L270 ngHoareTripleChecker]: Pre: {249#(and (forall ((v_idx_3489 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_idx_3489) (= 1 (select |#valid| v_idx_3489)) (< v_idx_3489 ULTIMATE.start_malloc_ptr))) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_malloc_ptr) (or (forall ((v_prenex_56 Int)) (or (< v_prenex_56 ULTIMATE.start_malloc_ptr) (<= (* 2 (select |#memory_int| v_prenex_56)) 0) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_56))) (forall ((v_prenex_57 Int)) (or (<= 0 (select |#memory_int| v_prenex_57)) (< v_prenex_57 ULTIMATE.start_main_p1)))) (forall ((v_prenex_24 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_prenex_24) (< v_prenex_24 ULTIMATE.start_main_p1) (<= 0 (* 2 (select |#memory_int| v_prenex_24))))) (or (forall ((v_idx_3495 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_idx_3495) (<= (* 2 (select |#memory_int| v_idx_3495)) 0) (< v_idx_3495 ULTIMATE.start_malloc_ptr) (<= (select |#memory_int| v_idx_3495) 0))) (forall ((v_idx_3493 Int)) (<= 0 (select |#memory_int| v_idx_3493)))) (<= (- (- ULTIMATE.start_main_p2) (- ULTIMATE.start_malloc_ptr)) 0) (forall ((v_prenex_23 Int) (v_prenex_22 Int)) (or (< v_prenex_22 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_22) (<= (select |#memory_int| v_prenex_22) (select |#memory_int| v_prenex_23)) (< v_prenex_23 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_23))) (or (forall ((v_prenex_55 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_prenex_55) (<= (select |#memory_int| v_prenex_55) 0) (< v_prenex_55 ULTIMATE.start_malloc_ptr))) (forall ((v_prenex_57 Int)) (or (<= 0 (select |#memory_int| v_prenex_57)) (< v_prenex_57 ULTIMATE.start_main_p1)))) (or (forall ((v_prenex_33 Int)) (or (< v_prenex_33 ULTIMATE.start_main_p1) (<= 0 (* 2 (select |#memory_int| v_prenex_33))))) (forall ((v_prenex_14 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_prenex_14) (< v_prenex_14 ULTIMATE.start_malloc_ptr) (<= (select |#memory_int| v_prenex_14) 0)))) (or (forall ((v_prenex_51 Int)) (<= 0 (select |#memory_int| v_prenex_51))) (forall ((v_prenex_52 Int)) (or (<= (select |#memory_int| v_prenex_52) 0) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_52) (< v_prenex_52 ULTIMATE.start_malloc_ptr) (<= (* 2 (select |#memory_int| v_prenex_52)) 0)))) (forall ((v_prenex_37 Int) (v_prenex_36 Int)) (or (<= (select |#memory_int| v_prenex_36) 0) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_36) (<= (select |#memory_int| v_prenex_36) (select |#memory_int| v_prenex_37)) (< v_prenex_36 ULTIMATE.start_malloc_ptr))) (forall ((v_prenex_49 Int) (v_prenex_48 Int)) (or (< v_prenex_48 ULTIMATE.start_malloc_ptr) (< v_prenex_49 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_48) (<= (select |#memory_int| v_prenex_48) (select |#memory_int| v_prenex_49)) (<= (* 2 (select |#memory_int| v_prenex_48)) 0))) (<= ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) (or (forall ((v_prenex_33 Int)) (or (< v_prenex_33 ULTIMATE.start_main_p1) (<= 0 (* 2 (select |#memory_int| v_prenex_33))))) (forall ((v_prenex_32 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_prenex_32) (<= (* 2 (select |#memory_int| v_prenex_32)) 0) (< v_prenex_32 ULTIMATE.start_malloc_ptr)))) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_malloc_ptr) (- 1)) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (- 1)) (forall ((v_prenex_40 Int)) (or (<= (select |#memory_int| v_prenex_40) 0) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_40) (< v_prenex_40 ULTIMATE.start_malloc_ptr))) (or (forall ((v_prenex_13 Int)) (or (<= (select |#memory_int| v_prenex_13) 0) (< v_prenex_13 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_13))) (forall ((v_idx_3493 Int)) (<= 0 (select |#memory_int| v_idx_3493)))) (or (forall ((v_prenex_27 Int)) (<= 0 (* 2 (select |#memory_int| v_prenex_27)))) (forall ((v_prenex_25 Int)) (or (< v_prenex_25 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_25) (<= (* 2 (select |#memory_int| v_prenex_25)) 0) (<= (select |#memory_int| v_prenex_25) 0)))) (forall ((v_prenex_41 Int) (v_prenex_42 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_prenex_41) (<= (select |#memory_int| v_prenex_41) (select |#memory_int| v_prenex_42)) (< v_prenex_41 ULTIMATE.start_malloc_ptr) (<= (* 2 (select |#memory_int| v_prenex_41)) 0))) (forall ((v_prenex_54 Int) (v_prenex_53 Int)) (or (<= (select |#memory_int| v_prenex_53) (select |#memory_int| v_prenex_54)) (< v_prenex_53 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_54) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_53) (<= (* 2 (select |#memory_int| v_prenex_53)) 0))) (forall ((v_prenex_19 Int)) (or (<= (select |#memory_int| v_prenex_19) 0) (< v_prenex_19 ULTIMATE.start_malloc_ptr) (<= (* 2 (select |#memory_int| v_prenex_19)) 0) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_19))) (forall ((v_prenex_45 Int)) (or (< v_prenex_45 ULTIMATE.start_main_p1) (<= 0 (select |#memory_int| v_prenex_45)) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_45))) (forall ((v_prenex_18 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_prenex_18) (< v_prenex_18 ULTIMATE.start_malloc_ptr) (<= (* 2 (select |#memory_int| v_prenex_18)) 0))) (forall ((v_prenex_29 Int) (v_prenex_28 Int)) (or (< v_prenex_28 ULTIMATE.start_malloc_ptr) (<= (* 2 (select |#memory_int| v_prenex_28)) 0) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_28) (<= (select |#memory_int| v_prenex_28) 0) (<= (select |#memory_int| v_prenex_28) (select |#memory_int| v_prenex_29)))) (or (forall ((v_prenex_38 Int)) (or (< v_prenex_38 ULTIMATE.start_malloc_ptr) (<= (* 2 (select |#memory_int| v_prenex_38)) 0) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_38))) (forall ((v_prenex_39 Int)) (or (<= 0 (select |#memory_int| v_prenex_39)) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_39)))) (forall ((v_prenex_34 Int) (v_prenex_35 Int)) (or (<= (select |#memory_int| v_prenex_34) 0) (< v_prenex_35 ULTIMATE.start_main_p1) (< v_prenex_34 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_34) (<= (select |#memory_int| v_prenex_34) (select |#memory_int| v_prenex_35)))) (or (forall ((v_prenex_51 Int)) (<= 0 (select |#memory_int| v_prenex_51))) (forall ((v_prenex_50 Int)) (or (< v_prenex_50 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_50) (<= (* 2 (select |#memory_int| v_prenex_50)) 0)))) (or (forall ((v_prenex_15 Int)) (or (<= (* 2 (select |#memory_int| v_prenex_15)) 0) (< v_prenex_15 ULTIMATE.start_malloc_ptr) (<= (select |#memory_int| v_prenex_15) 0) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_15))) (forall ((v_prenex_44 Int)) (<= 0 (* 2 (select |#memory_int| v_prenex_44))))) (or (forall ((v_prenex_26 Int)) (or (< v_prenex_26 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_26) (<= (select |#memory_int| v_prenex_26) 0))) (forall ((v_prenex_27 Int)) (<= 0 (* 2 (select |#memory_int| v_prenex_27))))) (or (forall ((v_prenex_44 Int)) (<= 0 (* 2 (select |#memory_int| v_prenex_44)))) (forall ((v_prenex_43 Int)) (or (< v_prenex_43 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_43) (<= (* 2 (select |#memory_int| v_prenex_43)) 0)))) (or (forall ((v_prenex_21 Int)) (or (<= 0 (select |#memory_int| v_prenex_21)) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_21))) (forall ((v_prenex_20 Int)) (or (<= (select |#memory_int| v_prenex_20) 0) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_20) (< v_prenex_20 ULTIMATE.start_malloc_ptr)))) (forall ((v_idx_3486 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_idx_3486) (= (select |ULTIMATE.start_malloc_old_#valid| v_idx_3486) 0) (< v_idx_3486 ULTIMATE.start_malloc_ptr))) (<= (- ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) 0) (or (forall ((v_prenex_47 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_prenex_47) (<= 0 (* 2 (select |#memory_int| v_prenex_47))))) (forall ((v_prenex_46 Int)) (or (< v_prenex_46 ULTIMATE.start_malloc_ptr) (<= (* 2 (select |#memory_int| v_prenex_46)) 0) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_46)))) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2) (or (forall ((v_prenex_17 Int)) (or (<= 0 (* 2 (select |#memory_int| v_prenex_17))) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_17))) (forall ((v_prenex_16 Int)) (or (<= (select |#memory_int| v_prenex_16) 0) (< v_prenex_16 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_16)))) (forall ((v_prenex_30 Int) (v_prenex_31 Int)) (or (< v_prenex_30 ULTIMATE.start_malloc_ptr) (<= (select |#memory_int| v_prenex_30) (select |#memory_int| v_prenex_31)) (<= (select |#memory_int| v_prenex_30) 0) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_31) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_30))))} [2019-02-14 16:55:37,970 WARN L274 ngHoareTripleChecker]: Action: #memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1]; [2019-02-14 16:55:37,970 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p1 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p1) 1))) [2019-02-14 16:55:37,971 WARN L276 ngHoareTripleChecker]: Post: {250#false} [2019-02-14 16:55:37,971 WARN L620 ntHoareTripleChecker]: -- [2019-02-14 16:55:37,971 WARN L621 ntHoareTripleChecker]: Abstract states [2019-02-14 16:55:37,972 WARN L623 ntHoareTripleChecker]: PreS: {#1{Arrays: {[#memory_int] -> [-inf_0] v_3750 [b_266] v_3751 [b_267] v_3752 [b_268] v_3753 [b_269] v_3754 [inf_0], [#valid] -> [-inf_0] v_3747 [b_264] v_3748 [b_265] v_3749 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_3743 [b_262] v_3744 [b_263] v_3745 [inf_0], [old(#memory_int)] -> [-inf_0] v_4315 [inf_0], [old(#valid)] -> [-inf_0] v_4314 [inf_0], }, Substate: {ints: {v_3753 = [-inf; 0]; v_3748 = [1; 1]; v_3744 = [0; 0]; v_3751 = [0; inf]}, 20 vars top, relations: {b_262 - b_268 = [0; 0]; b_264 - b_268 = [0; 0]; b_263 - b_268 = [1; 1]; ULTIMATE.start_malloc_ptr - b_268 = [0; 0]; ULTIMATE.start_main_p1 - b_268 = [-inf; -1]; ULTIMATE.start_main_p2 - b_268 = [0; 0]; b_266 - b_268 = [-inf; -1]; b_265 - b_268 = [1; 1]; b_267 - b_268 = [-inf; 0]; v_3748 + v_3753 = [-inf; 1]; v_3748 - v_3753 = [1; inf]; v_3744 + v_3753 = [-inf; 0]; v_3744 - v_3753 = [0; inf]; v_3751 - v_3753 = [0; inf]; ULTIMATE.start_malloc_ptr - b_262 = [0; 0]; ULTIMATE.start_main_p1 - b_262 = [-inf; -1]; ULTIMATE.start_main_p2 - b_262 = [0; 0]; v_3744 + v_3748 = [1; 1]; v_3744 - v_3748 = [-1; -1]; b_262 - b_264 = [0; 0]; b_263 - b_264 = [1; 1]; ULTIMATE.start_malloc_ptr - b_264 = [0; 0]; ULTIMATE.start_main_p1 - b_264 = [-inf; -1]; ULTIMATE.start_main_p2 - b_264 = [0; 0]; b_262 - b_263 = [-1; -1]; ULTIMATE.start_malloc_ptr - b_263 = [-1; -1]; ULTIMATE.start_main_p1 - b_263 = [-inf; -2]; ULTIMATE.start_main_p2 - b_263 = [-1; -1]; ULTIMATE.start_main_p1 - ULTIMATE.start_malloc_ptr = [-inf; -1]; ULTIMATE.start_main_p2 - ULTIMATE.start_malloc_ptr = [0; 0]; ULTIMATE.start_main_p1 - ULTIMATE.start_main_p2 = [-inf; -1]; v_3748 + v_3751 = [1; inf]; v_3748 - v_3751 = [-inf; 1]; v_3744 + v_3751 = [0; inf]; v_3744 - v_3751 = [-inf; 0]; b_262 - b_266 = [1; inf]; b_264 - b_266 = [1; inf]; b_263 - b_266 = [2; inf]; ULTIMATE.start_malloc_ptr - b_266 = [1; inf]; ULTIMATE.start_main_p1 - b_266 = [0; 0]; ULTIMATE.start_main_p2 - b_266 = [1; inf]; b_265 - b_266 = [2; inf]; b_262 - b_265 = [-1; -1]; b_264 - b_265 = [-1; -1]; b_263 - b_265 = [0; 0]; ULTIMATE.start_malloc_ptr - b_265 = [-1; -1]; ULTIMATE.start_main_p1 - b_265 = [-inf; -2]; ULTIMATE.start_main_p2 - b_265 = [-1; -1]; b_262 - b_267 = [0; inf]; b_264 - b_267 = [0; inf]; b_263 - b_267 = [1; inf]; ULTIMATE.start_malloc_ptr - b_267 = [0; inf]; ULTIMATE.start_main_p1 - b_267 = [-1; -1]; ULTIMATE.start_main_p2 - b_267 = [0; inf]; b_266 - b_267 = [-1; -1]; b_265 - b_267 = [1; inf]; b_268 - b_269 = [-1; -1]; b_262 - b_269 = [-1; -1]; b_264 - b_269 = [-1; -1]; b_263 - b_269 = [0; 0]; ULTIMATE.start_malloc_ptr - b_269 = [-1; -1]; ULTIMATE.start_main_p1 - b_269 = [-inf; -2]; ULTIMATE.start_main_p2 - b_269 = [-1; -1]; b_266 - b_269 = [-inf; -2]; b_265 - b_269 = [0; 0]; b_267 - b_269 = [-inf; -1]}, }}} [2019-02-14 16:55:37,972 WARN L628 ntHoareTripleChecker]: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p1 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p1) 1))) (#memory_int := #memory_int[main_p1 := #memory_int[main_p1] + 1];) [2019-02-14 16:55:37,973 WARN L629 ntHoareTripleChecker]: Post: {#1{Arrays: {}, Substate: false}} [2019-02-14 16:55:37,973 WARN L630 ntHoareTripleChecker]: -- [2019-02-14 16:55:39,408 WARN L214 ngHoareTripleChecker]: Soundness check failed for the following hoare triple [2019-02-14 16:55:39,409 WARN L217 ngHoareTripleChecker]: Expected: UNKNOWN Actual: INVALID [2019-02-14 16:55:39,409 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-02-14 16:55:39,409 WARN L223 ngHoareTripleChecker]: -- [2019-02-14 16:55:39,410 WARN L224 ngHoareTripleChecker]: Pre: {255#(forall ((v_idx_3554 Int) (v_idx_3545 Int) (v_idx_3552 Int) (v_idx_3548 Int)) (and (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) (or (= (select |c_#valid| v_idx_3548) 1) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_3548) (< v_idx_3548 c_ULTIMATE.start_malloc_ptr)) (or (and (or (< v_idx_3552 c_ULTIMATE.start_main_p1) (and (<= 0 (* 2 (select |c_#memory_int| v_idx_3552))) (<= 0 (select |c_#memory_int| v_idx_3552)) (<= (select |c_#memory_int| v_idx_3554) (select |c_#memory_int| v_idx_3552))) (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_3552)) (<= (select |c_#memory_int| v_idx_3554) 0) (<= (* 2 (select |c_#memory_int| v_idx_3554)) 0)) (and (< v_idx_3554 c_ULTIMATE.start_malloc_ptr) (or (and (<= 0 (* 2 (select |c_#memory_int| v_idx_3552))) (<= 0 (select |c_#memory_int| v_idx_3552))) (< v_idx_3552 c_ULTIMATE.start_main_p1) (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_3552))) (and (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_3554) (or (and (<= 0 (* 2 (select |c_#memory_int| v_idx_3552))) (<= 0 (select |c_#memory_int| v_idx_3552))) (< v_idx_3552 c_ULTIMATE.start_main_p1) (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_3552)))) (<= (- c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_malloc_ptr) (- 1)) (<= (- (- c_ULTIMATE.start_main_p2) (- c_ULTIMATE.start_malloc_ptr)) 0) (or (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_3545) (= 0 (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_3545)) (< v_idx_3545 c_ULTIMATE.start_malloc_ptr)) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_main_p2) (- 1)) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_main_p2) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p2)))} [2019-02-14 16:55:39,410 WARN L228 ngHoareTripleChecker]: Action: #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; [2019-02-14 16:55:39,410 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p2 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p2) (- 1)))) [2019-02-14 16:55:39,410 WARN L230 ngHoareTripleChecker]: Post: {256#false} [2019-02-14 16:55:39,410 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-02-14 16:55:39,411 WARN L268 ngHoareTripleChecker]: -- [2019-02-14 16:55:39,411 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-02-14 16:55:39,708 WARN L270 ngHoareTripleChecker]: Pre: {255#(and (or (forall ((v_prenex_67 Int)) (<= (select |#memory_int| v_prenex_67) 0)) (forall ((v_prenex_68 Int)) (or (< v_prenex_68 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_68) (<= 0 (* 2 (select |#memory_int| v_prenex_68)))))) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_malloc_ptr) (forall ((v_prenex_90 Int)) (or (< v_prenex_90 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_90) (<= (select |#memory_int| v_prenex_90) 0))) (forall ((v_idx_3552 Int)) (or (< v_idx_3552 ULTIMATE.start_main_p1) (<= 0 (select |#memory_int| v_idx_3552)) (<= (+ ULTIMATE.start_main_p1 1) v_idx_3552))) (or (forall ((v_prenex_105 Int)) (<= (* 2 (select |#memory_int| v_prenex_105)) 0)) (forall ((v_prenex_106 Int)) (or (< v_prenex_106 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_106) (<= 0 (* 2 (select |#memory_int| v_prenex_106))) (<= 0 (select |#memory_int| v_prenex_106))))) (forall ((v_prenex_84 Int) (v_prenex_83 Int)) (or (<= (select |#memory_int| v_prenex_83) (select |#memory_int| v_prenex_84)) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_84) (<= 0 (* 2 (select |#memory_int| v_prenex_84))) (< v_prenex_84 ULTIMATE.start_main_p1) (<= 0 (select |#memory_int| v_prenex_84)))) (<= (- (- ULTIMATE.start_main_p2) (- ULTIMATE.start_malloc_ptr)) 0) (forall ((v_idx_3545 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_idx_3545) (= 0 (select |ULTIMATE.start_malloc_old_#valid| v_idx_3545)) (< v_idx_3545 ULTIMATE.start_malloc_ptr))) (forall ((v_prenex_91 Int)) (or (<= 0 (select |#memory_int| v_prenex_91)) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_91) (< v_prenex_91 ULTIMATE.start_main_p1) (<= 0 (* 2 (select |#memory_int| v_prenex_91))))) (or (forall ((v_prenex_69 Int)) (<= (* 2 (select |#memory_int| v_prenex_69)) 0)) (forall ((v_prenex_70 Int)) (or (<= 0 (* 2 (select |#memory_int| v_prenex_70))) (< v_prenex_70 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_70)))) (or (< ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) (forall ((v_prenex_96 Int)) (or (<= 0 (select |#memory_int| v_prenex_96)) (< v_prenex_96 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_96)))) (or (forall ((v_prenex_86 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_prenex_86) (< v_prenex_86 ULTIMATE.start_main_p1) (<= 0 (* 2 (select |#memory_int| v_prenex_86))))) (forall ((v_prenex_85 Int)) (or (<= (* 2 (select |#memory_int| v_prenex_85)) 0) (< v_prenex_85 ULTIMATE.start_malloc_ptr)))) (forall ((v_prenex_64 Int)) (or (<= 0 (select |#memory_int| v_prenex_64)) (< v_prenex_64 ULTIMATE.start_main_p1) (<= 0 (* 2 (select |#memory_int| v_prenex_64))) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_64))) (or (forall ((v_prenex_75 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_prenex_75) (<= 0 (* 2 (select |#memory_int| v_prenex_75))) (< v_prenex_75 ULTIMATE.start_main_p1))) (forall ((v_prenex_74 Int)) (or (<= (select |#memory_int| v_prenex_74) 0) (< v_prenex_74 ULTIMATE.start_malloc_ptr)))) (<= ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) (or (forall ((v_prenex_99 Int)) (or (<= 0 (select |#memory_int| v_prenex_99)) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_99) (< v_prenex_99 ULTIMATE.start_main_p1))) (forall ((v_prenex_98 Int)) (or (<= (* 2 (select |#memory_int| v_prenex_98)) 0) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_98)))) (or (forall ((v_prenex_95 Int)) (or (<= 0 (* 2 (select |#memory_int| v_prenex_95))) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_95) (< v_prenex_95 ULTIMATE.start_main_p1))) (forall ((v_prenex_94 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_prenex_94) (<= (select |#memory_int| v_prenex_94) 0)))) (or (forall ((v_prenex_72 Int)) (<= (select |#memory_int| v_prenex_72) 0)) (forall ((v_prenex_73 Int)) (or (< v_prenex_73 ULTIMATE.start_main_p1) (<= 0 (* 2 (select |#memory_int| v_prenex_73))) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_73) (<= 0 (select |#memory_int| v_prenex_73))))) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_malloc_ptr) (- 1)) (forall ((v_idx_3554 Int) (v_prenex_61 Int)) (or (< v_idx_3554 ULTIMATE.start_malloc_ptr) (< v_prenex_61 ULTIMATE.start_main_p1) (<= (select |#memory_int| v_idx_3554) (select |#memory_int| v_prenex_61)) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_61) (<= 0 (select |#memory_int| v_prenex_61)))) (or (forall ((v_prenex_60 Int)) (or (< v_prenex_60 ULTIMATE.start_main_p1) (<= 0 (select |#memory_int| v_prenex_60)) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_60))) (forall ((v_prenex_74 Int)) (or (<= (select |#memory_int| v_prenex_74) 0) (< v_prenex_74 ULTIMATE.start_malloc_ptr)))) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (- 1)) (forall ((v_idx_3548 Int)) (or (= (select |#valid| v_idx_3548) 1) (<= (+ ULTIMATE.start_main_p2 1) v_idx_3548) (< v_idx_3548 ULTIMATE.start_malloc_ptr))) (forall ((v_prenex_79 Int) (v_prenex_80 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_prenex_80) (<= (select |#memory_int| v_prenex_79) (select |#memory_int| v_prenex_80)) (< v_prenex_80 ULTIMATE.start_main_p1) (<= 0 (* 2 (select |#memory_int| v_prenex_80))))) (forall ((v_prenex_103 Int) (v_prenex_104 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_prenex_104) (<= (select |#memory_int| v_prenex_103) (select |#memory_int| v_prenex_104)) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_103) (< v_prenex_104 ULTIMATE.start_main_p1) (<= 0 (* 2 (select |#memory_int| v_prenex_104))))) (or (forall ((v_prenex_69 Int)) (<= (* 2 (select |#memory_int| v_prenex_69)) 0)) (forall ((v_prenex_71 Int)) (or (<= 0 (select |#memory_int| v_prenex_71)) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_71) (<= 0 (* 2 (select |#memory_int| v_prenex_71))) (< v_prenex_71 ULTIMATE.start_main_p1)))) (or (< ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) (forall ((v_prenex_102 Int)) (or (< v_prenex_102 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_102) (<= 0 (* 2 (select |#memory_int| v_prenex_102)))))) (forall ((v_prenex_77 Int) (v_prenex_76 Int)) (or (< v_prenex_76 ULTIMATE.start_malloc_ptr) (<= (select |#memory_int| v_prenex_76) (select |#memory_int| v_prenex_77)) (< v_prenex_77 ULTIMATE.start_main_p1) (<= 0 (* 2 (select |#memory_int| v_prenex_77))) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_77))) (forall ((v_prenex_89 Int) (v_prenex_88 Int)) (or (<= 0 (select |#memory_int| v_prenex_89)) (< v_prenex_89 ULTIMATE.start_main_p1) (<= (select |#memory_int| v_prenex_88) (select |#memory_int| v_prenex_89)) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_89))) (or (forall ((v_prenex_59 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_prenex_59) (< v_prenex_59 ULTIMATE.start_main_p1) (<= 0 (select |#memory_int| v_prenex_59)))) (forall ((v_prenex_72 Int)) (<= (select |#memory_int| v_prenex_72) 0))) (or (forall ((v_prenex_62 Int)) (or (<= (* 2 (select |#memory_int| v_prenex_62)) 0) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_62))) (forall ((v_prenex_63 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_prenex_63) (<= 0 (* 2 (select |#memory_int| v_prenex_63))) (< v_prenex_63 ULTIMATE.start_main_p1)))) (or (forall ((v_prenex_67 Int)) (<= (select |#memory_int| v_prenex_67) 0)) (forall ((v_prenex_58 Int)) (or (<= 0 (select |#memory_int| v_prenex_58)) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_58) (< v_prenex_58 ULTIMATE.start_main_p1) (<= 0 (* 2 (select |#memory_int| v_prenex_58)))))) (or (forall ((v_prenex_82 Int)) (or (< v_prenex_82 ULTIMATE.start_main_p1) (<= 0 (select |#memory_int| v_prenex_82)) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_82))) (forall ((v_prenex_81 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_prenex_81) (<= (select |#memory_int| v_prenex_81) 0)))) (forall ((v_prenex_66 Int) (v_prenex_65 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_prenex_65) (< v_prenex_66 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_66) (<= 0 (select |#memory_int| v_prenex_66)) (<= (select |#memory_int| v_prenex_65) (select |#memory_int| v_prenex_66)))) (or (forall ((v_prenex_105 Int)) (<= (* 2 (select |#memory_int| v_prenex_105)) 0)) (forall ((v_prenex_107 Int)) (or (<= 0 (select |#memory_int| v_prenex_107)) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_107) (< v_prenex_107 ULTIMATE.start_main_p1)))) (forall ((v_prenex_101 Int) (v_prenex_100 Int)) (or (<= (select |#memory_int| v_prenex_100) (select |#memory_int| v_prenex_101)) (< v_prenex_101 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_101) (<= 0 (* 2 (select |#memory_int| v_prenex_101))) (<= 0 (select |#memory_int| v_prenex_101)))) (forall ((v_prenex_92 Int) (v_prenex_93 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_prenex_92) (< v_prenex_93 ULTIMATE.start_main_p1) (< v_prenex_92 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_93) (<= (select |#memory_int| v_prenex_92) (select |#memory_int| v_prenex_93)))) (<= (- ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) 0) (forall ((v_prenex_78 Int)) (or (< v_prenex_78 ULTIMATE.start_main_p1) (<= 0 (* 2 (select |#memory_int| v_prenex_78))) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_78))) (or (forall ((v_prenex_87 Int)) (or (< v_prenex_87 ULTIMATE.start_main_p1) (<= 0 (select |#memory_int| v_prenex_87)) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_87))) (forall ((v_prenex_85 Int)) (or (<= (* 2 (select |#memory_int| v_prenex_85)) 0) (< v_prenex_85 ULTIMATE.start_malloc_ptr)))) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2) (forall ((v_prenex_97 Int)) (or (< v_prenex_97 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_97) (<= (* 2 (select |#memory_int| v_prenex_97)) 0))))} [2019-02-14 16:55:39,708 WARN L274 ngHoareTripleChecker]: Action: #memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1]; [2019-02-14 16:55:39,708 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p2 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p2) (- 1)))) [2019-02-14 16:55:39,710 WARN L276 ngHoareTripleChecker]: Post: {256#false} [2019-02-14 16:55:39,710 WARN L620 ntHoareTripleChecker]: -- [2019-02-14 16:55:39,710 WARN L621 ntHoareTripleChecker]: Abstract states [2019-02-14 16:55:39,711 WARN L623 ntHoareTripleChecker]: PreS: {#1{Arrays: {[#memory_int] -> [-inf_0] v_3750 [b_266] v_3751 [b_267] v_3752 [b_268] v_3753 [b_269] v_3754 [inf_0], [#valid] -> [-inf_0] v_3747 [b_264] v_3748 [b_265] v_3749 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_3743 [b_262] v_3744 [b_263] v_3745 [inf_0], [old(#memory_int)] -> [-inf_0] v_4336 [inf_0], [old(#valid)] -> [-inf_0] v_4335 [inf_0], }, Substate: {ints: {v_3753 = [-inf; 0]; v_3748 = [1; 1]; v_3744 = [0; 0]; v_3751 = [0; inf]}, 20 vars top, relations: {b_262 - b_268 = [0; 0]; b_264 - b_268 = [0; 0]; b_263 - b_268 = [1; 1]; ULTIMATE.start_malloc_ptr - b_268 = [0; 0]; ULTIMATE.start_main_p1 - b_268 = [-inf; -1]; ULTIMATE.start_main_p2 - b_268 = [0; 0]; b_266 - b_268 = [-inf; -1]; b_265 - b_268 = [1; 1]; b_267 - b_268 = [-inf; 0]; v_3748 + v_3753 = [-inf; 1]; v_3748 - v_3753 = [1; inf]; v_3744 + v_3753 = [-inf; 0]; v_3744 - v_3753 = [0; inf]; v_3751 - v_3753 = [0; inf]; ULTIMATE.start_malloc_ptr - b_262 = [0; 0]; ULTIMATE.start_main_p1 - b_262 = [-inf; -1]; ULTIMATE.start_main_p2 - b_262 = [0; 0]; v_3744 + v_3748 = [1; 1]; v_3744 - v_3748 = [-1; -1]; b_262 - b_264 = [0; 0]; b_263 - b_264 = [1; 1]; ULTIMATE.start_malloc_ptr - b_264 = [0; 0]; ULTIMATE.start_main_p1 - b_264 = [-inf; -1]; ULTIMATE.start_main_p2 - b_264 = [0; 0]; b_262 - b_263 = [-1; -1]; ULTIMATE.start_malloc_ptr - b_263 = [-1; -1]; ULTIMATE.start_main_p1 - b_263 = [-inf; -2]; ULTIMATE.start_main_p2 - b_263 = [-1; -1]; ULTIMATE.start_main_p1 - ULTIMATE.start_malloc_ptr = [-inf; -1]; ULTIMATE.start_main_p2 - ULTIMATE.start_malloc_ptr = [0; 0]; ULTIMATE.start_main_p1 - ULTIMATE.start_main_p2 = [-inf; -1]; v_3748 + v_3751 = [1; inf]; v_3748 - v_3751 = [-inf; 1]; v_3744 + v_3751 = [0; inf]; v_3744 - v_3751 = [-inf; 0]; b_262 - b_266 = [1; inf]; b_264 - b_266 = [1; inf]; b_263 - b_266 = [2; inf]; ULTIMATE.start_malloc_ptr - b_266 = [1; inf]; ULTIMATE.start_main_p1 - b_266 = [0; 0]; ULTIMATE.start_main_p2 - b_266 = [1; inf]; b_265 - b_266 = [2; inf]; b_262 - b_265 = [-1; -1]; b_264 - b_265 = [-1; -1]; b_263 - b_265 = [0; 0]; ULTIMATE.start_malloc_ptr - b_265 = [-1; -1]; ULTIMATE.start_main_p1 - b_265 = [-inf; -2]; ULTIMATE.start_main_p2 - b_265 = [-1; -1]; b_262 - b_267 = [0; inf]; b_264 - b_267 = [0; inf]; b_263 - b_267 = [1; inf]; ULTIMATE.start_malloc_ptr - b_267 = [0; inf]; ULTIMATE.start_main_p1 - b_267 = [-1; -1]; ULTIMATE.start_main_p2 - b_267 = [0; inf]; b_266 - b_267 = [-1; -1]; b_265 - b_267 = [1; inf]; b_268 - b_269 = [-1; -1]; b_262 - b_269 = [-1; -1]; b_264 - b_269 = [-1; -1]; b_263 - b_269 = [0; 0]; ULTIMATE.start_malloc_ptr - b_269 = [-1; -1]; ULTIMATE.start_main_p1 - b_269 = [-inf; -2]; ULTIMATE.start_main_p2 - b_269 = [-1; -1]; b_266 - b_269 = [-inf; -2]; b_265 - b_269 = [0; 0]; b_267 - b_269 = [-inf; -1]}, }}} [2019-02-14 16:55:39,711 WARN L628 ntHoareTripleChecker]: (= |c_#memory_int_primed| (store |c_#memory_int| c_ULTIMATE.start_main_p2 (+ (select |c_#memory_int| c_ULTIMATE.start_main_p2) (- 1)))) (#memory_int := #memory_int[main_p2 := #memory_int[main_p2] - 1];) [2019-02-14 16:55:39,711 WARN L629 ntHoareTripleChecker]: Post: {#1{Arrays: {}, Substate: false}} [2019-02-14 16:55:39,712 WARN L630 ntHoareTripleChecker]: -- [2019-02-14 16:55:41,064 WARN L214 ngHoareTripleChecker]: Soundness check failed for the following hoare triple [2019-02-14 16:55:41,065 WARN L217 ngHoareTripleChecker]: Expected: UNKNOWN Actual: INVALID [2019-02-14 16:55:41,065 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2019-02-14 16:55:41,065 WARN L223 ngHoareTripleChecker]: -- [2019-02-14 16:55:41,065 WARN L224 ngHoareTripleChecker]: Pre: {264#(forall ((v_idx_3611 Int) (v_idx_3607 Int) (v_idx_3613 Int) (v_idx_3604 Int)) (and (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_malloc_ptr) (<= c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) (<= (- c_ULTIMATE.start_main_p2 c_ULTIMATE.start_malloc_ptr) 0) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_malloc_ptr) (- 1)) (<= (- (- c_ULTIMATE.start_main_p2) (- c_ULTIMATE.start_malloc_ptr)) 0) (or (and (or (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_3613) (< v_idx_3613 c_ULTIMATE.start_malloc_ptr) (and (<= (select |c_#memory_int| v_idx_3613) 0) (<= (select |c_#memory_int| v_idx_3613) (select |c_#memory_int| v_idx_3611)) (<= (* 2 (select |c_#memory_int| v_idx_3613)) 0))) (<= 0 (* 2 (select |c_#memory_int| v_idx_3611))) (<= 0 (select |c_#memory_int| v_idx_3611))) (and (or (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_3613) (< v_idx_3613 c_ULTIMATE.start_malloc_ptr) (and (<= (select |c_#memory_int| v_idx_3613) 0) (<= (* 2 (select |c_#memory_int| v_idx_3613)) 0))) (<= (+ c_ULTIMATE.start_main_p1 1) v_idx_3611)) (and (or (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_3613) (< v_idx_3613 c_ULTIMATE.start_malloc_ptr) (and (<= (select |c_#memory_int| v_idx_3613) 0) (<= (* 2 (select |c_#memory_int| v_idx_3613)) 0))) (< v_idx_3611 c_ULTIMATE.start_main_p1))) (<= (- c_ULTIMATE.start_main_p1 c_ULTIMATE.start_main_p2) (- 1)) (or (< v_idx_3607 c_ULTIMATE.start_malloc_ptr) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_3607) (= (select |c_#valid| v_idx_3607) 1)) (<= (+ c_ULTIMATE.start_main_p1 1) c_ULTIMATE.start_main_p2) (<= c_ULTIMATE.start_malloc_ptr c_ULTIMATE.start_main_p2) (or (= (select |c_ULTIMATE.start_malloc_old_#valid| v_idx_3604) 0) (<= (+ c_ULTIMATE.start_main_p2 1) v_idx_3604) (< v_idx_3604 c_ULTIMATE.start_malloc_ptr))))} [2019-02-14 16:55:41,065 WARN L228 ngHoareTripleChecker]: Action: assume #memory_int[main_p1] >= 0; [2019-02-14 16:55:41,066 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (<= 0 (select |c_#memory_int| c_ULTIMATE.start_main_p1)) [2019-02-14 16:55:41,066 WARN L230 ngHoareTripleChecker]: Post: {265#false} [2019-02-14 16:55:41,066 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2019-02-14 16:55:41,066 WARN L268 ngHoareTripleChecker]: -- [2019-02-14 16:55:41,066 WARN L269 ngHoareTripleChecker]: Simplified triple [2019-02-14 16:55:41,346 WARN L270 ngHoareTripleChecker]: Pre: {264#(and (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_malloc_ptr) (forall ((v_prenex_141 Int) (v_prenex_142 Int)) (or (< v_prenex_141 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_141) (< v_prenex_142 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_142) (<= (select |#memory_int| v_prenex_142) (select |#memory_int| v_prenex_141)))) (forall ((v_prenex_114 Int) (v_prenex_113 Int)) (or (< v_prenex_114 ULTIMATE.start_malloc_ptr) (<= (select |#memory_int| v_prenex_114) 0) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_114) (<= (select |#memory_int| v_prenex_114) (select |#memory_int| v_prenex_113)))) (or (forall ((v_prenex_133 Int)) (or (<= 0 (select |#memory_int| v_prenex_133)) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_133))) (forall ((v_prenex_135 Int)) (or (< v_prenex_135 ULTIMATE.start_malloc_ptr) (<= (* 2 (select |#memory_int| v_prenex_135)) 0) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_135)))) (forall ((v_idx_3611 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_idx_3611) (<= 0 (* 2 (select |#memory_int| v_idx_3611))) (< v_idx_3611 ULTIMATE.start_main_p1))) (<= (- (- ULTIMATE.start_main_p2) (- ULTIMATE.start_malloc_ptr)) 0) (forall ((v_idx_3613 Int)) (or (<= (select |#memory_int| v_idx_3613) 0) (<= (+ ULTIMATE.start_main_p2 1) v_idx_3613) (< v_idx_3613 ULTIMATE.start_malloc_ptr))) (or (forall ((v_prenex_136 Int)) (or (< v_prenex_136 ULTIMATE.start_main_p1) (<= 0 (select |#memory_int| v_prenex_136)))) (forall ((v_prenex_138 Int)) (or (< v_prenex_138 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_138) (<= (* 2 (select |#memory_int| v_prenex_138)) 0)))) (or (forall ((v_prenex_130 Int)) (<= 0 (select |#memory_int| v_prenex_130))) (forall ((v_prenex_131 Int)) (or (<= (select |#memory_int| v_prenex_131) 0) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_131) (< v_prenex_131 ULTIMATE.start_malloc_ptr)))) (or (forall ((v_prenex_120 Int)) (or (< v_prenex_120 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_120) (<= (* 2 (select |#memory_int| v_prenex_120)) 0))) (forall ((v_prenex_118 Int)) (<= 0 (* 2 (select |#memory_int| v_prenex_118))))) (or (forall ((v_prenex_133 Int)) (or (<= 0 (select |#memory_int| v_prenex_133)) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_133))) (forall ((v_prenex_134 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_prenex_134) (<= (select |#memory_int| v_prenex_134) 0) (< v_prenex_134 ULTIMATE.start_malloc_ptr)))) (<= ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) (or (forall ((v_prenex_125 Int)) (or (< v_prenex_125 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_125) (<= (* 2 (select |#memory_int| v_prenex_125)) 0))) (forall ((v_prenex_123 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_prenex_123) (<= 0 (* 2 (select |#memory_int| v_prenex_123)))))) (forall ((v_idx_3607 Int)) (or (< v_idx_3607 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_idx_3607) (= (select |#valid| v_idx_3607) 1))) (forall ((v_prenex_139 Int) (v_prenex_140 Int)) (or (<= (select |#memory_int| v_prenex_140) 0) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_140) (< v_prenex_140 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_139) (<= (select |#memory_int| v_prenex_140) (select |#memory_int| v_prenex_139)))) (or (forall ((v_prenex_136 Int)) (or (< v_prenex_136 ULTIMATE.start_main_p1) (<= 0 (select |#memory_int| v_prenex_136)))) (forall ((v_prenex_137 Int)) (or (<= (select |#memory_int| v_prenex_137) 0) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_137) (< v_prenex_137 ULTIMATE.start_malloc_ptr)))) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_malloc_ptr) (- 1)) (forall ((v_prenex_127 Int) (v_prenex_126 Int)) (or (< v_prenex_126 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_127) (<= (select |#memory_int| v_prenex_127) (select |#memory_int| v_prenex_126)) (< v_prenex_127 ULTIMATE.start_malloc_ptr) (<= (* 2 (select |#memory_int| v_prenex_127)) 0))) (forall ((v_prenex_115 Int)) (or (<= 0 (select |#memory_int| v_prenex_115)) (< v_prenex_115 ULTIMATE.start_main_p1) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_115))) (<= (- ULTIMATE.start_main_p1 ULTIMATE.start_main_p2) (- 1)) (or (forall ((v_prenex_124 Int)) (or (<= (select |#memory_int| v_prenex_124) 0) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_124) (< v_prenex_124 ULTIMATE.start_malloc_ptr))) (forall ((v_prenex_123 Int)) (or (<= (+ ULTIMATE.start_main_p1 1) v_prenex_123) (<= 0 (* 2 (select |#memory_int| v_prenex_123)))))) (forall ((v_idx_3604 Int)) (or (= (select |ULTIMATE.start_malloc_old_#valid| v_idx_3604) 0) (<= (+ ULTIMATE.start_main_p2 1) v_idx_3604) (< v_idx_3604 ULTIMATE.start_malloc_ptr))) (or (forall ((v_prenex_117 Int)) (or (<= (* 2 (select |#memory_int| v_prenex_117)) 0) (< v_prenex_117 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_117))) (forall ((v_prenex_116 Int)) (or (< v_prenex_116 ULTIMATE.start_main_p1) (<= 0 (* 2 (select |#memory_int| v_prenex_116)))))) (forall ((v_prenex_129 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_prenex_129) (<= (* 2 (select |#memory_int| v_prenex_129)) 0) (<= (select |#memory_int| v_prenex_129) 0) (< v_prenex_129 ULTIMATE.start_malloc_ptr))) (forall ((v_prenex_112 Int) (v_prenex_111 Int)) (or (<= (+ ULTIMATE.start_main_p2 1) v_prenex_112) (<= (select |#memory_int| v_prenex_112) (select |#memory_int| v_prenex_111)) (<= (* 2 (select |#memory_int| v_prenex_112)) 0) (< v_prenex_112 ULTIMATE.start_malloc_ptr))) (forall ((v_prenex_121 Int) (v_prenex_122 Int)) (or (< v_prenex_122 ULTIMATE.start_malloc_ptr) (<= (select |#memory_int| v_prenex_122) (select |#memory_int| v_prenex_121)) (<= (select |#memory_int| v_prenex_122) 0) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_122) (< v_prenex_121 ULTIMATE.start_main_p1))) (or (forall ((v_prenex_108 Int)) (or (< v_prenex_108 ULTIMATE.start_malloc_ptr) (<= (select |#memory_int| v_prenex_108) 0) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_108))) (forall ((v_prenex_116 Int)) (or (< v_prenex_116 ULTIMATE.start_main_p1) (<= 0 (* 2 (select |#memory_int| v_prenex_116)))))) (or (forall ((v_prenex_119 Int)) (or (<= (select |#memory_int| v_prenex_119) 0) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_119) (< v_prenex_119 ULTIMATE.start_malloc_ptr))) (forall ((v_prenex_118 Int)) (<= 0 (* 2 (select |#memory_int| v_prenex_118))))) (<= (- ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) 0) (forall ((v_prenex_110 Int) (v_prenex_109 Int)) (or (<= (* 2 (select |#memory_int| v_prenex_110)) 0) (<= (select |#memory_int| v_prenex_110) (select |#memory_int| v_prenex_109)) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_110) (<= (+ ULTIMATE.start_main_p1 1) v_prenex_109) (< v_prenex_110 ULTIMATE.start_malloc_ptr))) (or (forall ((v_prenex_130 Int)) (<= 0 (select |#memory_int| v_prenex_130))) (forall ((v_prenex_132 Int)) (or (<= (* 2 (select |#memory_int| v_prenex_132)) 0) (< v_prenex_132 ULTIMATE.start_malloc_ptr) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_132)))) (forall ((v_prenex_128 Int)) (or (<= (* 2 (select |#memory_int| v_prenex_128)) 0) (<= (+ ULTIMATE.start_main_p2 1) v_prenex_128) (< v_prenex_128 ULTIMATE.start_malloc_ptr))) (<= (+ ULTIMATE.start_main_p1 1) ULTIMATE.start_main_p2) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2))} [2019-02-14 16:55:41,347 WARN L274 ngHoareTripleChecker]: Action: assume #memory_int[main_p1] >= 0; [2019-02-14 16:55:41,347 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (<= 0 (select |c_#memory_int| c_ULTIMATE.start_main_p1)) [2019-02-14 16:55:41,348 WARN L276 ngHoareTripleChecker]: Post: {265#false} [2019-02-14 16:55:41,349 WARN L620 ntHoareTripleChecker]: -- [2019-02-14 16:55:41,349 WARN L621 ntHoareTripleChecker]: Abstract states [2019-02-14 16:55:41,349 WARN L623 ntHoareTripleChecker]: PreS: {#1{Arrays: {[#memory_int] -> [-inf_0] v_3750 [b_266] v_3751 [b_267] v_3752 [b_268] v_3753 [b_269] v_3754 [inf_0], [#valid] -> [-inf_0] v_3747 [b_264] v_3748 [b_265] v_3749 [inf_0], [ULTIMATE.start_malloc_old_#valid] -> [-inf_0] v_3743 [b_262] v_3744 [b_263] v_3745 [inf_0], [old(#memory_int)] -> [-inf_0] v_4357 [inf_0], [old(#valid)] -> [-inf_0] v_4356 [inf_0], }, Substate: {ints: {v_3753 = [-inf; 0]; v_3748 = [1; 1]; v_3744 = [0; 0]; v_3751 = [0; inf]}, 20 vars top, relations: {b_262 - b_268 = [0; 0]; b_264 - b_268 = [0; 0]; b_263 - b_268 = [1; 1]; ULTIMATE.start_malloc_ptr - b_268 = [0; 0]; ULTIMATE.start_main_p1 - b_268 = [-inf; -1]; ULTIMATE.start_main_p2 - b_268 = [0; 0]; b_266 - b_268 = [-inf; -1]; b_265 - b_268 = [1; 1]; b_267 - b_268 = [-inf; 0]; v_3748 + v_3753 = [-inf; 1]; v_3748 - v_3753 = [1; inf]; v_3744 + v_3753 = [-inf; 0]; v_3744 - v_3753 = [0; inf]; v_3751 - v_3753 = [0; inf]; ULTIMATE.start_malloc_ptr - b_262 = [0; 0]; ULTIMATE.start_main_p1 - b_262 = [-inf; -1]; ULTIMATE.start_main_p2 - b_262 = [0; 0]; v_3744 + v_3748 = [1; 1]; v_3744 - v_3748 = [-1; -1]; b_262 - b_264 = [0; 0]; b_263 - b_264 = [1; 1]; ULTIMATE.start_malloc_ptr - b_264 = [0; 0]; ULTIMATE.start_main_p1 - b_264 = [-inf; -1]; ULTIMATE.start_main_p2 - b_264 = [0; 0]; b_262 - b_263 = [-1; -1]; ULTIMATE.start_malloc_ptr - b_263 = [-1; -1]; ULTIMATE.start_main_p1 - b_263 = [-inf; -2]; ULTIMATE.start_main_p2 - b_263 = [-1; -1]; ULTIMATE.start_main_p1 - ULTIMATE.start_malloc_ptr = [-inf; -1]; ULTIMATE.start_main_p2 - ULTIMATE.start_malloc_ptr = [0; 0]; ULTIMATE.start_main_p1 - ULTIMATE.start_main_p2 = [-inf; -1]; v_3748 + v_3751 = [1; inf]; v_3748 - v_3751 = [-inf; 1]; v_3744 + v_3751 = [0; inf]; v_3744 - v_3751 = [-inf; 0]; b_262 - b_266 = [1; inf]; b_264 - b_266 = [1; inf]; b_263 - b_266 = [2; inf]; ULTIMATE.start_malloc_ptr - b_266 = [1; inf]; ULTIMATE.start_main_p1 - b_266 = [0; 0]; ULTIMATE.start_main_p2 - b_266 = [1; inf]; b_265 - b_266 = [2; inf]; b_262 - b_265 = [-1; -1]; b_264 - b_265 = [-1; -1]; b_263 - b_265 = [0; 0]; ULTIMATE.start_malloc_ptr - b_265 = [-1; -1]; ULTIMATE.start_main_p1 - b_265 = [-inf; -2]; ULTIMATE.start_main_p2 - b_265 = [-1; -1]; b_262 - b_267 = [0; inf]; b_264 - b_267 = [0; inf]; b_263 - b_267 = [1; inf]; ULTIMATE.start_malloc_ptr - b_267 = [0; inf]; ULTIMATE.start_main_p1 - b_267 = [-1; -1]; ULTIMATE.start_main_p2 - b_267 = [0; inf]; b_266 - b_267 = [-1; -1]; b_265 - b_267 = [1; inf]; b_268 - b_269 = [-1; -1]; b_262 - b_269 = [-1; -1]; b_264 - b_269 = [-1; -1]; b_263 - b_269 = [0; 0]; ULTIMATE.start_malloc_ptr - b_269 = [-1; -1]; ULTIMATE.start_main_p1 - b_269 = [-inf; -2]; ULTIMATE.start_main_p2 - b_269 = [-1; -1]; b_266 - b_269 = [-inf; -2]; b_265 - b_269 = [0; 0]; b_267 - b_269 = [-inf; -1]}, }}} [2019-02-14 16:55:41,350 WARN L628 ntHoareTripleChecker]: (<= 0 (select |c_#memory_int| c_ULTIMATE.start_main_p1)) (assume #memory_int[main_p1] >= 0;) [2019-02-14 16:55:41,350 WARN L629 ntHoareTripleChecker]: Post: {#1{Arrays: {}, Substate: false}} [2019-02-14 16:55:41,350 WARN L630 ntHoareTripleChecker]: -- [2019-02-14 16:55:42,940 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:55:42,940 INFO L93 Difference]: Finished difference Result 8 states and 12 transitions. [2019-02-14 16:55:42,940 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2019-02-14 16:55:42,940 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 4 [2019-02-14 16:55:42,940 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2019-02-14 16:55:42,940 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-02-14 16:55:42,941 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 6 transitions. [2019-02-14 16:55:42,941 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 4 states. [2019-02-14 16:55:42,941 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 6 transitions. [2019-02-14 16:55:42,942 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 6 transitions. [2019-02-14 16:55:42,965 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:55:42,965 INFO L225 Difference]: With dead ends: 8 [2019-02-14 16:55:42,965 INFO L226 Difference]: Without dead ends: 0 [2019-02-14 16:55:42,966 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 0 SyntacticMatches, 2 SemanticMatches, 2 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=5, Invalid=4, Unknown=1, NotChecked=2, Total=12 [2019-02-14 16:55:42,966 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 0 states. [2019-02-14 16:55:42,966 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 0 to 0. [2019-02-14 16:55:42,966 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2019-02-14 16:55:42,967 INFO L82 GeneralOperation]: Start isEquivalent. First operand 0 states. Second operand 0 states. [2019-02-14 16:55:42,967 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand 0 states. [2019-02-14 16:55:42,967 INFO L87 Difference]: Start difference. First operand 0 states. Second operand 0 states. [2019-02-14 16:55:42,967 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:55:42,967 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2019-02-14 16:55:42,967 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2019-02-14 16:55:42,968 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:55:42,968 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:55:42,968 INFO L74 IsIncluded]: Start isIncluded. First operand 0 states. Second operand 0 states. [2019-02-14 16:55:42,968 INFO L87 Difference]: Start difference. First operand 0 states. Second operand 0 states. [2019-02-14 16:55:42,968 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2019-02-14 16:55:42,968 INFO L93 Difference]: Finished difference Result 0 states and 0 transitions. [2019-02-14 16:55:42,968 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2019-02-14 16:55:42,968 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:55:42,969 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2019-02-14 16:55:42,969 INFO L88 GeneralOperation]: Finished isEquivalent. [2019-02-14 16:55:42,969 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2019-02-14 16:55:42,969 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 0 states. [2019-02-14 16:55:42,969 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 0 states to 0 states and 0 transitions. [2019-02-14 16:55:42,969 INFO L78 Accepts]: Start accepts. Automaton has 0 states and 0 transitions. Word has length 4 [2019-02-14 16:55:42,969 INFO L84 Accepts]: Finished accepts. word is rejected. [2019-02-14 16:55:42,969 INFO L480 AbstractCegarLoop]: Abstraction has 0 states and 0 transitions. [2019-02-14 16:55:42,969 INFO L481 AbstractCegarLoop]: Interpolant automaton has 4 states. [2019-02-14 16:55:42,969 INFO L276 IsEmpty]: Start isEmpty. Operand 0 states and 0 transitions. [2019-02-14 16:55:42,969 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2019-02-14 16:55:42,974 INFO L343 DoubleDeckerVisitor]: Before removal of dead ends 0 states and 0 transitions. [2019-02-14 16:55:43,136 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.startEXIT(lines 7 9) no Hoare annotation was computed. [2019-02-14 16:55:43,137 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.startErr0ASSERT_VIOLATIONASSERT(line 33) no Hoare annotation was computed. [2019-02-14 16:55:43,137 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.startENTRY(lines 7 9) no Hoare annotation was computed. [2019-02-14 16:55:43,137 INFO L444 ceAbstractionStarter]: At program point L26-1(lines 25 31) the Hoare annotation is: (forall ((v_idx_3247 Int) (v_idx_3242 Int) (v_idx_3245 Int) (v_idx_3239 Int)) (let ((.cse0 (+ ULTIMATE.start_main_p2 1)) (.cse1 (+ ULTIMATE.start_main_p1 1))) (and (or (= (select |ULTIMATE.start_malloc_old_#valid| v_idx_3239) 0) (<= .cse0 v_idx_3239) (< v_idx_3239 ULTIMATE.start_malloc_ptr)) (<= ULTIMATE.start_main_p2 ULTIMATE.start_malloc_ptr) (<= .cse1 ULTIMATE.start_malloc_ptr) (or (<= .cse0 v_idx_3242) (< v_idx_3242 ULTIMATE.start_malloc_ptr) (= 1 (select |#valid| v_idx_3242))) (<= ULTIMATE.start_malloc_ptr ULTIMATE.start_main_p2) (let ((.cse8 (select |#memory_int| v_idx_3247))) (let ((.cse6 (<= .cse8 0)) (.cse7 (<= (* 2 .cse8) 0)) (.cse4 (< v_idx_3247 ULTIMATE.start_malloc_ptr)) (.cse5 (<= .cse0 v_idx_3247))) (let ((.cse2 (or (and .cse6 .cse7) .cse4 .cse5))) (or (and (< v_idx_3245 ULTIMATE.start_main_p1) .cse2) (let ((.cse3 (select |#memory_int| v_idx_3245))) (and (<= 0 (* 2 .cse3)) (<= 0 .cse3) (or .cse4 .cse5 (and .cse6 .cse7 (<= .cse8 .cse3))))) (and (<= .cse1 v_idx_3245) .cse2))))) (<= .cse1 ULTIMATE.start_main_p2)))) [2019-02-14 16:55:43,137 INFO L448 ceAbstractionStarter]: For program point L14(lines 7 36) no Hoare annotation was computed. [2019-02-14 16:55:43,137 INFO L448 ceAbstractionStarter]: For program point ULTIMATE.startErr1ASSERT_VIOLATIONASSERT(line 34) no Hoare annotation was computed. [2019-02-14 16:55:43,138 INFO L448 ceAbstractionStarter]: For program point L34(line 34) no Hoare annotation was computed. [2019-02-14 16:55:43,139 WARN L170 areAnnotationChecker]: ULTIMATE.startENTRY has no Hoare annotation [2019-02-14 16:55:43,139 WARN L170 areAnnotationChecker]: ULTIMATE.startErr0ASSERT_VIOLATIONASSERT has no Hoare annotation [2019-02-14 16:55:43,139 WARN L170 areAnnotationChecker]: L34 has no Hoare annotation [2019-02-14 16:55:43,149 WARN L170 areAnnotationChecker]: L34 has no Hoare annotation [2019-02-14 16:55:43,149 WARN L170 areAnnotationChecker]: L34 has no Hoare annotation [2019-02-14 16:55:43,149 WARN L170 areAnnotationChecker]: L14 has no Hoare annotation [2019-02-14 16:55:43,149 INFO L163 areAnnotationChecker]: CFG has 2 edges. 2 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. 0 times interpolants missing. [2019-02-14 16:55:43,157 INFO L202 PluginConnector]: Adding new model speedup-poc-dd-2-limited.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 14.02 04:55:43 BoogieIcfgContainer [2019-02-14 16:55:43,157 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2019-02-14 16:55:43,158 INFO L168 Benchmark]: Toolchain (without parser) took 288551.85 ms. Allocated memory was 135.8 MB in the beginning and 925.4 MB in the end (delta: 789.6 MB). Free memory was 107.8 MB in the beginning and 788.7 MB in the end (delta: -680.9 MB). Peak memory consumption was 108.7 MB. Max. memory is 7.1 GB. [2019-02-14 16:55:43,160 INFO L168 Benchmark]: Boogie PL CUP Parser took 0.20 ms. Allocated memory is still 135.8 MB. Free memory is still 108.7 MB. There was no memory consumed. Max. memory is 7.1 GB. [2019-02-14 16:55:43,161 INFO L168 Benchmark]: Boogie Procedure Inliner took 62.45 ms. Allocated memory is still 135.8 MB. Free memory was 107.4 MB in the beginning and 105.3 MB in the end (delta: 2.1 MB). Peak memory consumption was 2.1 MB. Max. memory is 7.1 GB. [2019-02-14 16:55:43,161 INFO L168 Benchmark]: Boogie Preprocessor took 25.09 ms. Allocated memory is still 135.8 MB. Free memory was 105.3 MB in the beginning and 104.0 MB in the end (delta: 1.3 MB). Peak memory consumption was 1.3 MB. Max. memory is 7.1 GB. [2019-02-14 16:55:43,162 INFO L168 Benchmark]: RCFGBuilder took 411.37 ms. Allocated memory is still 135.8 MB. Free memory was 104.0 MB in the beginning and 92.9 MB in the end (delta: 11.2 MB). Peak memory consumption was 11.2 MB. Max. memory is 7.1 GB. [2019-02-14 16:55:43,163 INFO L168 Benchmark]: TraceAbstraction took 288048.28 ms. Allocated memory was 135.8 MB in the beginning and 925.4 MB in the end (delta: 789.6 MB). Free memory was 92.4 MB in the beginning and 788.7 MB in the end (delta: -696.3 MB). Peak memory consumption was 93.3 MB. Max. memory is 7.1 GB. [2019-02-14 16:55:43,167 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - GenericResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * Boogie PL CUP Parser took 0.20 ms. Allocated memory is still 135.8 MB. Free memory is still 108.7 MB. There was no memory consumed. Max. memory is 7.1 GB. * Boogie Procedure Inliner took 62.45 ms. Allocated memory is still 135.8 MB. Free memory was 107.4 MB in the beginning and 105.3 MB in the end (delta: 2.1 MB). Peak memory consumption was 2.1 MB. Max. memory is 7.1 GB. * Boogie Preprocessor took 25.09 ms. Allocated memory is still 135.8 MB. Free memory was 105.3 MB in the beginning and 104.0 MB in the end (delta: 1.3 MB). Peak memory consumption was 1.3 MB. Max. memory is 7.1 GB. * RCFGBuilder took 411.37 ms. Allocated memory is still 135.8 MB. Free memory was 104.0 MB in the beginning and 92.9 MB in the end (delta: 11.2 MB). Peak memory consumption was 11.2 MB. Max. memory is 7.1 GB. * TraceAbstraction took 288048.28 ms. Allocated memory was 135.8 MB in the beginning and 925.4 MB in the end (delta: 789.6 MB). Free memory was 92.4 MB in the beginning and 788.7 MB in the end (delta: -696.3 MB). Peak memory consumption was 93.3 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - PositiveResult [Line: 34]: assertion always holds For all program executions holds that assertion always holds at this location - PositiveResult [Line: 33]: assertion always holds For all program executions holds that assertion always holds at this location - AllSpecificationsHoldResult: All specifications hold 2 specifications checked. All of them hold - InvariantResult [Line: 25]: Loop Invariant Derived loop invariant: (forall v_idx_3247 : int, v_idx_3242 : int, v_idx_3245 : int, v_idx_3239 : int :: (((((((old(malloc_old_#valid)[v_idx_3239] == 0 || p2 + 1 <= v_idx_3239) || v_idx_3239 < ptr) && p2 <= ptr) && p1 + 1 <= ptr) && ((p2 + 1 <= v_idx_3242 || v_idx_3242 < ptr) || 1 == #valid[v_idx_3242])) && ptr <= p2) && (((v_idx_3245 < p1 && (((#memory_int[v_idx_3247] <= 0 && 2 * #memory_int[v_idx_3247] <= 0) || v_idx_3247 < ptr) || p2 + 1 <= v_idx_3247)) || ((0 <= 2 * #memory_int[v_idx_3245] && 0 <= #memory_int[v_idx_3245]) && ((v_idx_3247 < ptr || p2 + 1 <= v_idx_3247) || ((#memory_int[v_idx_3247] <= 0 && 2 * #memory_int[v_idx_3247] <= 0) && #memory_int[v_idx_3247] <= #memory_int[v_idx_3245])))) || (p1 + 1 <= v_idx_3245 && (((#memory_int[v_idx_3247] <= 0 && 2 * #memory_int[v_idx_3247] <= 0) || v_idx_3247 < ptr) || p2 + 1 <= v_idx_3247)))) && p1 + 1 <= p2) - StatisticsResult: Ultimate Automizer benchmark data CFG has 1 procedures, 7 locations, 2 error locations. SAFE Result, 287.9s OverallTime, 4 OverallIterations, 1 TraceHistogramMax, 20.3s AutomataDifference, 0.0s DeadEndRemovalTime, 0.1s HoareAnnotationTime, HoareTripleCheckerStatistics: 10 SDtfs, 7 SDslu, 1 SDs, 0 SdLazy, 15 SolverSat, 17 SolverUnsat, 0 SolverUnknown, 0 SolverNotchecked, 26.9s Time, PredicateUnifierStatistics: 0 DeclaredPredicates, 9 GetRequests, 0 SyntacticMatches, 4 SemanticMatches, 5 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 1.0s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=8occurred in iteration=3, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 242.9s AbstIntTime, 3 AbstIntIterations, 3 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: 0.1s AutomataMinimizationTime, 4 MinimizatonAttempts, 3 StatesRemovedByMinimization, 2 NontrivialMinimizations, HoareAnnotationStatistics: 0.0s HoareAnnotationTime, 1 LocationsWithAnnotation, 1 PreInvPairs, 4 NumberOfFragments, 143 HoareAnnotationTreeSize, 1 FomulaSimplifications, 939 FormulaSimplificationTreeSizeReduction, 0.0s HoareSimplificationTime, 1 FomulaSimplificationsInter, 0 FormulaSimplificationTreeSizeReductionInter, 0.0s HoareSimplificationTimeInter, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 0.6s InterpolantComputationTime, 12 NumberOfCodeBlocks, 12 NumberOfCodeBlocksAsserted, 4 NumberOfCheckSat, 8 ConstructedInterpolants, 0 QuantifiedInterpolants, 165 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 4 InterpolantComputations, 1 PerfectInterpolantSequences, 0/5 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be correct! Received shutdown request...