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/toy/tooDifficultLoopInvariant/codeblockAssertOrder01.bpl -------------------------------------------------------------------------------- This is Ultimate 0.1.24-824f902 [2018-12-19 12:27:11,053 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-12-19 12:27:11,055 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-12-19 12:27:11,067 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-12-19 12:27:11,067 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-12-19 12:27:11,068 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-12-19 12:27:11,070 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-12-19 12:27:11,072 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-12-19 12:27:11,074 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-12-19 12:27:11,075 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-12-19 12:27:11,076 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-12-19 12:27:11,076 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-12-19 12:27:11,077 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-12-19 12:27:11,079 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-12-19 12:27:11,080 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-12-19 12:27:11,081 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-12-19 12:27:11,082 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-12-19 12:27:11,084 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-12-19 12:27:11,092 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-12-19 12:27:11,097 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-12-19 12:27:11,098 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-12-19 12:27:11,102 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-12-19 12:27:11,107 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-12-19 12:27:11,108 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-12-19 12:27:11,108 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-12-19 12:27:11,112 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-12-19 12:27:11,113 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-12-19 12:27:11,114 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-12-19 12:27:11,115 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-12-19 12:27:11,116 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-12-19 12:27:11,116 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-12-19 12:27:11,116 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-12-19 12:27:11,120 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-12-19 12:27:11,120 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-12-19 12:27:11,121 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-12-19 12:27:11,122 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-12-19 12:27:11,123 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 [2018-12-19 12:27:11,146 INFO L110 SettingsManager]: Loading preferences was successful [2018-12-19 12:27:11,146 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-12-19 12:27:11,147 INFO L131 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2018-12-19 12:27:11,147 INFO L133 SettingsManager]: * Show backtranslation warnings=false [2018-12-19 12:27:11,147 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-12-19 12:27:11,148 INFO L133 SettingsManager]: * User list type=DISABLED [2018-12-19 12:27:11,148 INFO L133 SettingsManager]: * Inline calls to unimplemented procedures=true [2018-12-19 12:27:11,148 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2018-12-19 12:27:11,148 INFO L133 SettingsManager]: * Abstract domain for RCFG-of-the-future=PoormanAbstractDomain [2018-12-19 12:27:11,148 INFO L133 SettingsManager]: * Underlying domain=OctagonDomain [2018-12-19 12:27:11,149 INFO L133 SettingsManager]: * Abstract domain=ArrayDomain [2018-12-19 12:27:11,149 INFO L133 SettingsManager]: * Check feasibility of abstract posts with an SMT solver=true [2018-12-19 12:27:11,149 INFO L133 SettingsManager]: * Interval Domain=false [2018-12-19 12:27:11,150 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-12-19 12:27:11,150 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-12-19 12:27:11,150 INFO L133 SettingsManager]: * Use SBE=true [2018-12-19 12:27:11,150 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-12-19 12:27:11,150 INFO L133 SettingsManager]: * sizeof long=4 [2018-12-19 12:27:11,151 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-12-19 12:27:11,151 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-12-19 12:27:11,151 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-12-19 12:27:11,151 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-12-19 12:27:11,151 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-12-19 12:27:11,152 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-12-19 12:27:11,152 INFO L133 SettingsManager]: * sizeof long double=12 [2018-12-19 12:27:11,152 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-12-19 12:27:11,152 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-12-19 12:27:11,152 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-12-19 12:27:11,153 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-12-19 12:27:11,153 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-12-19 12:27:11,153 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-12-19 12:27:11,153 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-12-19 12:27:11,153 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-12-19 12:27:11,154 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-12-19 12:27:11,154 INFO L133 SettingsManager]: * Trace refinement strategy=TAIPAN [2018-12-19 12:27:11,154 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-12-19 12:27:11,154 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-12-19 12:27:11,154 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-12-19 12:27:11,155 INFO L133 SettingsManager]: * Abstract interpretation Mode=USE_PREDICATES [2018-12-19 12:27:11,184 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-12-19 12:27:11,202 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-12-19 12:27:11,208 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-12-19 12:27:11,209 INFO L271 PluginConnector]: Initializing Boogie PL CUP Parser... [2018-12-19 12:27:11,210 INFO L276 PluginConnector]: Boogie PL CUP Parser initialized [2018-12-19 12:27:11,211 INFO L418 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/toy/tooDifficultLoopInvariant/codeblockAssertOrder01.bpl [2018-12-19 12:27:11,211 INFO L111 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/toy/tooDifficultLoopInvariant/codeblockAssertOrder01.bpl' [2018-12-19 12:27:11,248 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-12-19 12:27:11,250 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2018-12-19 12:27:11,250 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-12-19 12:27:11,250 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-12-19 12:27:11,251 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-12-19 12:27:11,270 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "codeblockAssertOrder01.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 12:27:11" (1/1) ... [2018-12-19 12:27:11,281 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "codeblockAssertOrder01.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 12:27:11" (1/1) ... [2018-12-19 12:27:11,287 WARN L165 Inliner]: Program contained no entry procedure! [2018-12-19 12:27:11,287 WARN L168 Inliner]: Missing entry procedures: [ULTIMATE.start] [2018-12-19 12:27:11,288 WARN L175 Inliner]: Fallback enabled. All procedures will be processed. [2018-12-19 12:27:11,290 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-12-19 12:27:11,291 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-12-19 12:27:11,291 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-12-19 12:27:11,291 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-12-19 12:27:11,304 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "codeblockAssertOrder01.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 12:27:11" (1/1) ... [2018-12-19 12:27:11,304 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "codeblockAssertOrder01.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 12:27:11" (1/1) ... [2018-12-19 12:27:11,305 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "codeblockAssertOrder01.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 12:27:11" (1/1) ... [2018-12-19 12:27:11,305 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "codeblockAssertOrder01.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 12:27:11" (1/1) ... [2018-12-19 12:27:11,308 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "codeblockAssertOrder01.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 12:27:11" (1/1) ... [2018-12-19 12:27:11,313 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "codeblockAssertOrder01.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 12:27:11" (1/1) ... [2018-12-19 12:27:11,314 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "codeblockAssertOrder01.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 12:27:11" (1/1) ... [2018-12-19 12:27:11,315 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-12-19 12:27:11,316 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-12-19 12:27:11,316 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-12-19 12:27:11,317 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-12-19 12:27:11,317 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "codeblockAssertOrder01.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 12:27:11" (1/1) ... No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-12-19 12:27:11,389 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-12-19 12:27:11,389 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-12-19 12:27:11,612 INFO L272 CfgBuilder]: Using library mode [2018-12-19 12:27:11,612 INFO L280 CfgBuilder]: Removed 0 assue(true) statements. [2018-12-19 12:27:11,613 INFO L202 PluginConnector]: Adding new model codeblockAssertOrder01.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 19.12 12:27:11 BoogieIcfgContainer [2018-12-19 12:27:11,613 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-12-19 12:27:11,614 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-12-19 12:27:11,614 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-12-19 12:27:11,617 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-12-19 12:27:11,618 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "codeblockAssertOrder01.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 19.12 12:27:11" (1/2) ... [2018-12-19 12:27:11,619 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@50303514 and model type codeblockAssertOrder01.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 19.12 12:27:11, skipping insertion in model container [2018-12-19 12:27:11,619 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "codeblockAssertOrder01.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 19.12 12:27:11" (2/2) ... [2018-12-19 12:27:11,621 INFO L112 eAbstractionObserver]: Analyzing ICFG codeblockAssertOrder01.bpl [2018-12-19 12:27:11,632 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-12-19 12:27:11,640 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-12-19 12:27:11,659 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-12-19 12:27:11,694 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-12-19 12:27:11,695 INFO L383 AbstractCegarLoop]: Hoare is true [2018-12-19 12:27:11,695 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-12-19 12:27:11,695 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-12-19 12:27:11,695 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-12-19 12:27:11,695 INFO L387 AbstractCegarLoop]: Difference is false [2018-12-19 12:27:11,696 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-12-19 12:27:11,696 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-12-19 12:27:11,712 INFO L276 IsEmpty]: Start isEmpty. Operand 6 states. [2018-12-19 12:27:11,719 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2018-12-19 12:27:11,719 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 12:27:11,720 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2018-12-19 12:27:11,723 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONASSERT]=== [2018-12-19 12:27:11,729 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 12:27:11,729 INFO L82 PathProgramCache]: Analyzing trace with hash 29984, now seen corresponding path program 1 times [2018-12-19 12:27:11,732 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 12:27:11,789 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 12:27:11,790 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 12:27:11,790 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 12:27:11,790 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 12:27:11,829 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 12:27:12,013 INFO L273 TraceCheckUtils]: 0: Hoare triple {9#true} i := 0; {11#(<= main_i 0)} is VALID [2018-12-19 12:27:12,025 INFO L273 TraceCheckUtils]: 1: Hoare triple {11#(<= main_i 0)} assume !(i <= 1000);a := a[p := 5];assume p > 41 && p < 43;assume q > 41 && q < 43; {10#false} is VALID [2018-12-19 12:27:12,025 INFO L273 TraceCheckUtils]: 2: Hoare triple {10#false} assume !(a[q] == 5); {10#false} is VALID [2018-12-19 12:27:12,029 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 12:27:12,031 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-12-19 12:27:12,032 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-12-19 12:27:12,032 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-19 12:27:12,038 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 3 [2018-12-19 12:27:12,040 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 12:27:12,043 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-12-19 12:27:12,089 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 3 edges. 3 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 12:27:12,089 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-12-19 12:27:12,101 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-12-19 12:27:12,102 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-12-19 12:27:12,105 INFO L87 Difference]: Start difference. First operand 6 states. Second operand 3 states. [2018-12-19 12:27:12,200 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 12:27:12,201 INFO L93 Difference]: Finished difference Result 11 states and 11 transitions. [2018-12-19 12:27:12,201 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-12-19 12:27:12,201 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 3 [2018-12-19 12:27:12,201 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-19 12:27:12,204 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-12-19 12:27:12,211 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 11 transitions. [2018-12-19 12:27:12,211 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-12-19 12:27:12,214 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 11 transitions. [2018-12-19 12:27:12,214 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 11 transitions. [2018-12-19 12:27:12,261 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 11 edges. 11 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 12:27:12,271 INFO L225 Difference]: With dead ends: 11 [2018-12-19 12:27:12,272 INFO L226 Difference]: Without dead ends: 5 [2018-12-19 12:27:12,275 INFO L631 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 1 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-12-19 12:27:12,290 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 5 states. [2018-12-19 12:27:12,333 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 5 to 5. [2018-12-19 12:27:12,333 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-19 12:27:12,334 INFO L82 GeneralOperation]: Start isEquivalent. First operand 5 states. Second operand 5 states. [2018-12-19 12:27:12,335 INFO L74 IsIncluded]: Start isIncluded. First operand 5 states. Second operand 5 states. [2018-12-19 12:27:12,335 INFO L87 Difference]: Start difference. First operand 5 states. Second operand 5 states. [2018-12-19 12:27:12,336 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 12:27:12,337 INFO L93 Difference]: Finished difference Result 5 states and 5 transitions. [2018-12-19 12:27:12,337 INFO L276 IsEmpty]: Start isEmpty. Operand 5 states and 5 transitions. [2018-12-19 12:27:12,337 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 12:27:12,338 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 12:27:12,338 INFO L74 IsIncluded]: Start isIncluded. First operand 5 states. Second operand 5 states. [2018-12-19 12:27:12,338 INFO L87 Difference]: Start difference. First operand 5 states. Second operand 5 states. [2018-12-19 12:27:12,339 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-19 12:27:12,340 INFO L93 Difference]: Finished difference Result 5 states and 5 transitions. [2018-12-19 12:27:12,340 INFO L276 IsEmpty]: Start isEmpty. Operand 5 states and 5 transitions. [2018-12-19 12:27:12,340 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-19 12:27:12,341 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-19 12:27:12,341 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-19 12:27:12,341 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-19 12:27:12,341 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-12-19 12:27:12,342 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 5 transitions. [2018-12-19 12:27:12,344 INFO L78 Accepts]: Start accepts. Automaton has 5 states and 5 transitions. Word has length 3 [2018-12-19 12:27:12,344 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-19 12:27:12,345 INFO L480 AbstractCegarLoop]: Abstraction has 5 states and 5 transitions. [2018-12-19 12:27:12,345 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-12-19 12:27:12,345 INFO L276 IsEmpty]: Start isEmpty. Operand 5 states and 5 transitions. [2018-12-19 12:27:12,345 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-19 12:27:12,346 INFO L394 BasicCegarLoop]: Found error trace [2018-12-19 12:27:12,346 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-19 12:27:12,346 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONASSERT]=== [2018-12-19 12:27:12,347 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 12:27:12,347 INFO L82 PathProgramCache]: Analyzing trace with hash 927558, now seen corresponding path program 1 times [2018-12-19 12:27:12,347 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-19 12:27:12,348 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 12:27:12,348 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-19 12:27:12,349 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-19 12:27:12,349 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-19 12:27:12,358 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-19 12:27:12,539 INFO L273 TraceCheckUtils]: 0: Hoare triple {44#true} i := 0; {46#(<= main_i 0)} is VALID [2018-12-19 12:27:12,553 INFO L273 TraceCheckUtils]: 1: Hoare triple {46#(<= main_i 0)} assume i <= 1000;i := i + 1; {47#(<= main_i 1)} is VALID [2018-12-19 12:27:12,554 INFO L273 TraceCheckUtils]: 2: Hoare triple {47#(<= main_i 1)} assume !(i <= 1000);a := a[p := 5];assume p > 41 && p < 43;assume q > 41 && q < 43; {45#false} is VALID [2018-12-19 12:27:12,554 INFO L273 TraceCheckUtils]: 3: Hoare triple {45#false} assume !(a[q] == 5); {45#false} is VALID [2018-12-19 12:27:12,555 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2018-12-19 12:27:12,555 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-19 12:27:12,555 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-19 12:27:12,557 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-19 12:27:12,559 INFO L207 CegarAbsIntRunner]: [0], [4], [6], [7] [2018-12-19 12:27:12,622 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2018-12-19 12:27:12,623 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-19 12:27:15,636 INFO L266 AbstractInterpreter]: Error location(s) were unreachable [2018-12-19 12:27:15,638 INFO L272 AbstractInterpreter]: Visited 4 different actions 28 times. Merged at 1 different actions 12 times. Widened at 1 different actions 8 times. Found 1 fixpoints after 1 different actions. Largest state had 0 variables. [2018-12-19 12:27:15,644 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-19 12:27:15,645 INFO L403 sIntCurrentIteration]: Generating AbsInt predicates [2018-12-19 12:27:16,583 INFO L227 lantSequenceWeakener]: Weakened 1 states. On average, predicates are now at 50% of their original sizes. [2018-12-19 12:27:16,608 INFO L418 sIntCurrentIteration]: Unifying AI predicates [2018-12-19 12:27:17,103 INFO L420 sIntCurrentIteration]: We unified 3 AI predicates to 3 [2018-12-19 12:27:17,312 INFO L429 sIntCurrentIteration]: Finished generation of AbsInt predicates [2018-12-19 12:27:17,313 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2018-12-19 12:27:17,313 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [3] total 5 [2018-12-19 12:27:17,314 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-19 12:27:17,316 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 4 [2018-12-19 12:27:17,316 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-19 12:27:17,316 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-12-19 12:27:17,367 INFO L119 InductivityCheck]: Floyd-Hoare automaton has 4 edges. 4 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2018-12-19 12:27:17,367 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-12-19 12:27:17,367 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-12-19 12:27:17,368 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-12-19 12:27:17,368 INFO L87 Difference]: Start difference. First operand 5 states and 5 transitions. Second operand 4 states. [2018-12-19 12:27:17,456 WARN L214 ngHoareTripleChecker]: Soundness check failed for the following hoare triple [2018-12-19 12:27:17,457 WARN L217 ngHoareTripleChecker]: Expected: UNKNOWN Actual: INVALID [2018-12-19 12:27:17,458 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2018-12-19 12:27:17,459 WARN L223 ngHoareTripleChecker]: -- [2018-12-19 12:27:17,459 WARN L224 ngHoareTripleChecker]: Pre: {86#(<= (- (- c_main_i) c_main_i) 0)} [2018-12-19 12:27:17,459 WARN L228 ngHoareTripleChecker]: Action: assume i <= 1000;i := i + 1; [2018-12-19 12:27:17,460 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (and (= c_main_i_primed (+ c_main_i 1)) (<= c_main_i 1000)) [2018-12-19 12:27:17,460 WARN L230 ngHoareTripleChecker]: Post: {87#false} [2018-12-19 12:27:17,460 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2018-12-19 12:27:17,461 WARN L268 ngHoareTripleChecker]: -- [2018-12-19 12:27:17,461 WARN L269 ngHoareTripleChecker]: Simplified triple [2018-12-19 12:27:17,489 WARN L270 ngHoareTripleChecker]: Pre: {86#(<= (- (- main_i) main_i) 0)} [2018-12-19 12:27:17,489 WARN L274 ngHoareTripleChecker]: Action: assume i <= 1000;i := i + 1; [2018-12-19 12:27:17,490 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (and (= c_main_i_primed (+ c_main_i 1)) (<= c_main_i 1000)) [2018-12-19 12:27:17,519 WARN L276 ngHoareTripleChecker]: Post: {87#false} [2018-12-19 12:27:17,520 WARN L620 ntHoareTripleChecker]: -- [2018-12-19 12:27:17,520 WARN L621 ntHoareTripleChecker]: Abstract states [2018-12-19 12:27:17,521 WARN L623 ntHoareTripleChecker]: PreS: {#1{Arrays: {[main_a] -> [-inf_0] v_459 [inf_0], }, Substate: {ints: {main_i = [0; inf]}, 4 vars top, }}} [2018-12-19 12:27:17,521 WARN L628 ntHoareTripleChecker]: (and (= c_main_i_primed (+ c_main_i 1)) (<= c_main_i 1000)) (assume i <= 1000;i := i + 1;) [2018-12-19 12:27:17,521 WARN L629 ntHoareTripleChecker]: Post: {#1{Arrays: {}, Substate: false}} [2018-12-19 12:27:17,521 WARN L630 ntHoareTripleChecker]: -- [2018-12-19 12:27:17,755 WARN L214 ngHoareTripleChecker]: Soundness check failed for the following hoare triple [2018-12-19 12:27:17,756 WARN L217 ngHoareTripleChecker]: Expected: UNKNOWN Actual: INVALID [2018-12-19 12:27:17,757 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2018-12-19 12:27:17,757 WARN L223 ngHoareTripleChecker]: -- [2018-12-19 12:27:17,757 WARN L224 ngHoareTripleChecker]: Pre: {88#(<= (- (- c_main_i) c_main_i) 0)} [2018-12-19 12:27:17,757 WARN L228 ngHoareTripleChecker]: Action: assume i <= 1000;i := i + 1; [2018-12-19 12:27:17,758 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (and (= c_main_i_primed (+ c_main_i 1)) (<= c_main_i 1000)) [2018-12-19 12:27:17,758 WARN L230 ngHoareTripleChecker]: Post: {89#(exists ((v_b_46_1 Int) (v_b_47_1 Int) (v_v_405_1 Int)) (and (<= (- v_b_46_1 (- v_b_46_1)) 84) (<= (- v_b_46_1 (- c_main_q)) 84) (<= (- v_b_47_1 c_main_q) 1) (<= (- (- c_main_q) v_v_405_1) (- 47)) (<= (- (- c_main_q) c_main_q) (- 84)) (<= (- (- v_v_405_1) v_v_405_1) (- 10)) (<= (- (- c_main_q) (- v_v_405_1)) (- 37)) (<= (- (- v_b_46_1) (- v_v_405_1)) (- 37)) (<= (- (- v_b_47_1) v_b_47_1) (- 86)) (<= (- v_b_47_1 v_v_405_1) 38) (<= (- v_v_405_1 (- v_v_405_1)) 10) (<= (- (- v_b_46_1) c_main_q) (- 84)) (<= (- c_main_q (- c_main_q)) 84) (<= (- (- v_b_46_1) v_b_46_1) (- 84)) (<= (- v_b_46_1 (- v_v_405_1)) 47) (<= (- c_main_q (- v_v_405_1)) 47) (<= (- (- v_b_47_1) (- v_v_405_1)) (- 38)) (<= (- v_b_46_1 c_main_q) 0) (<= (- (- v_b_46_1) v_b_47_1) (- 85)) (<= (- (- v_b_47_1) c_main_q) (- 85)) (<= (- (- v_b_46_1) v_v_405_1) (- 47)) (<= (- (- v_b_47_1) (- c_main_q)) (- 1)) (<= (- c_main_q v_v_405_1) 37) (<= (- v_b_46_1 v_b_47_1) (- 1)) (<= (- v_b_47_1 (- v_v_405_1)) 48) (<= (- (- v_b_46_1) (- c_main_q)) 0) (forall ((v_idx_65 Int) (v_idx_66 Int) (v_idx_64 Int)) (or (< v_idx_66 v_b_47_1) (and (<= (- (- c_main_q) (select c_main_a v_idx_65)) (- 47)) (<= (- c_main_q (- (select c_main_a v_idx_65))) 47) (<= (- (- v_b_47_1) (- (select c_main_a v_idx_65))) (- 38)) (<= (- (- (select c_main_a v_idx_65)) (select c_main_a v_idx_65)) (- 10)) (<= (- (- c_main_q) (- (select c_main_a v_idx_65))) (- 37)) (<= (- (- v_b_46_1) (- (select c_main_a v_idx_65))) (- 37)) (<= (- (- v_b_46_1) (select c_main_a v_idx_65)) (- 47)) (<= (- v_b_47_1 (select c_main_a v_idx_65)) 38) (<= (- c_main_q (select c_main_a v_idx_65)) 37) (<= (- (select c_main_a v_idx_65) (- (select c_main_a v_idx_65))) 10) (<= (- v_b_47_1 (- (select c_main_a v_idx_65))) 48) (<= (- (- v_b_47_1) (select c_main_a v_idx_65)) (- 48)) (<= (- v_b_46_1 (select c_main_a v_idx_65)) 37) (<= (- v_b_46_1 (- (select c_main_a v_idx_65))) 47)) (<= v_b_47_1 v_idx_65) (< v_idx_65 v_b_46_1) (<= v_b_46_1 v_idx_64))) (<= (- (- v_b_47_1) v_v_405_1) (- 48)) (<= (- (- v_b_46_1) (- v_b_47_1)) 1) (<= (- v_b_46_1 v_v_405_1) 37) (<= (- v_b_46_1 (- v_b_47_1)) 85) (<= (- v_b_47_1 (- c_main_q)) 85) (<= (- v_b_47_1 (- v_b_47_1)) 86)))} [2018-12-19 12:27:17,758 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2018-12-19 12:27:17,759 WARN L268 ngHoareTripleChecker]: -- [2018-12-19 12:27:17,759 WARN L269 ngHoareTripleChecker]: Simplified triple [2018-12-19 12:27:17,766 WARN L270 ngHoareTripleChecker]: Pre: {88#(<= (- (- main_i) main_i) 0)} [2018-12-19 12:27:17,766 WARN L274 ngHoareTripleChecker]: Action: assume i <= 1000;i := i + 1; [2018-12-19 12:27:17,766 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (and (= c_main_i_primed (+ c_main_i 1)) (<= c_main_i 1000)) [2018-12-19 12:27:19,189 WARN L276 ngHoareTripleChecker]: Post: {89#(and (exists ((v_b_46_1 Int) (v_b_47_1 Int)) (and (<= (- v_b_46_1 (- main_q)) 84) (<= (- v_b_46_1 (- v_b_46_1)) 84) (<= (- v_b_47_1 main_q) 1) (<= v_b_46_1 main_q) (forall ((v_prenex_9 Int)) (or (<= v_b_47_1 v_prenex_9) (< v_prenex_9 v_b_46_1) (<= (- (select main_a v_prenex_9) (- (select main_a v_prenex_9))) 10))) (<= (- (- v_b_47_1) v_b_47_1) (- 86)) (forall ((v_prenex_3 Int)) (or (<= (- (- v_b_46_1) (select main_a v_prenex_3)) (- 47)) (< v_prenex_3 v_b_46_1) (<= v_b_47_1 v_prenex_3))) (forall ((v_idx_65 Int)) (or (<= (- (- v_b_47_1) (- (select main_a v_idx_65))) (- 38)) (<= v_b_47_1 v_idx_65) (< v_idx_65 v_b_46_1))) (forall ((v_prenex_4 Int)) (or (<= (- v_b_46_1 (- (select main_a v_prenex_4))) 47) (< v_prenex_4 v_b_46_1) (<= v_b_47_1 v_prenex_4))) (<= (- v_b_46_1 main_q) 0) (<= 85 (+ v_b_47_1 main_q)) (forall ((v_prenex_7 Int)) (or (<= (- (- main_q) (select main_a v_prenex_7)) (- 47)) (< v_prenex_7 v_b_46_1) (<= v_b_47_1 v_prenex_7))) (<= v_b_47_1 (+ v_b_46_1 1)) (<= (+ main_q 1) v_b_47_1) (<= v_b_47_1 (+ main_q 1)) (<= (+ v_b_47_1 main_q) 85) (<= 42 v_b_46_1) (<= (- (- v_b_46_1) (- v_b_47_1)) 1) (<= 84 (* 2 v_b_46_1)) (<= (- v_b_46_1 (- v_b_47_1)) 85) (<= (- v_b_47_1 (- main_q)) 85) (<= (+ v_b_46_1 v_b_47_1) 85) (<= 43 v_b_47_1) (<= (- v_b_47_1 (- v_b_47_1)) 86) (forall ((v_prenex_11 Int)) (or (< v_prenex_11 v_b_46_1) (<= v_b_47_1 v_prenex_11) (<= (- main_q (- (select main_a v_prenex_11))) 47))) (<= (+ v_b_46_1 1) v_b_47_1) (<= 86 (* 2 v_b_47_1)) (forall ((v_prenex_10 Int)) (or (<= (- v_b_47_1 (- (select main_a v_prenex_10))) 48) (< v_prenex_10 v_b_46_1) (<= v_b_47_1 v_prenex_10))) (<= (- (- v_b_46_1) main_q) (- 84)) (forall ((v_prenex_1 Int)) (or (< v_prenex_1 v_b_46_1) (<= (- (- v_b_47_1) (select main_a v_prenex_1)) (- 48)) (<= v_b_47_1 v_prenex_1))) (forall ((v_prenex_2 Int)) (or (< v_prenex_2 v_b_46_1) (<= v_b_47_1 v_prenex_2) (<= (- (- main_q) (- (select main_a v_prenex_2))) (- 37)))) (forall ((v_prenex_13 Int)) (or (<= v_b_47_1 v_prenex_13) (<= (- v_b_46_1 (select main_a v_prenex_13)) 37) (< v_prenex_13 v_b_46_1))) (<= (* 2 v_b_46_1) 84) (<= (- (- v_b_46_1) v_b_46_1) (- 84)) (<= 84 (+ v_b_46_1 main_q)) (<= v_b_47_1 43) (forall ((v_prenex_6 Int)) (or (< v_prenex_6 v_b_46_1) (<= v_b_47_1 v_prenex_6) (<= (- (- (select main_a v_prenex_6)) (select main_a v_prenex_6)) (- 10)))) (<= (- (- v_b_46_1) v_b_47_1) (- 85)) (<= (- (- v_b_47_1) main_q) (- 85)) (<= v_b_46_1 42) (<= main_q v_b_46_1) (<= (+ main_q v_b_47_1) 85) (<= (+ v_b_46_1 main_q) 84) (<= (- (- v_b_47_1) (- main_q)) (- 1)) (forall ((v_prenex_12 Int)) (or (< v_prenex_12 v_b_46_1) (<= (- (- v_b_46_1) (- (select main_a v_prenex_12))) (- 37)) (<= v_b_47_1 v_prenex_12))) (<= (- v_b_46_1 v_b_47_1) (- 1)) (<= (- (- v_b_46_1) (- main_q)) 0) (forall ((v_prenex_8 Int)) (or (<= v_b_47_1 v_prenex_8) (< v_prenex_8 v_b_46_1) (<= (- main_q (select main_a v_prenex_8)) 37))) (forall ((v_prenex_5 Int)) (or (< v_prenex_5 v_b_46_1) (<= v_b_47_1 v_prenex_5) (<= (- v_b_47_1 (select main_a v_prenex_5)) 38))) (<= 85 (+ main_q v_b_47_1)) (<= 85 (+ v_b_46_1 v_b_47_1)) (<= (* 2 v_b_47_1) 86))) (<= (* 2 main_q) 84) (<= (- main_q (- main_q)) 84) (<= (- (- main_q) main_q) (- 84)) (<= 42 main_q) (<= 84 (* 2 main_q)) (<= main_q 42))} [2018-12-19 12:27:19,190 WARN L620 ntHoareTripleChecker]: -- [2018-12-19 12:27:19,190 WARN L621 ntHoareTripleChecker]: Abstract states [2018-12-19 12:27:19,191 WARN L623 ntHoareTripleChecker]: PreS: {#1{Arrays: {[main_a] -> [-inf_0] v_460 [inf_0], }, Substate: {ints: {main_i = [0; inf]}, 4 vars top, }}} [2018-12-19 12:27:19,191 WARN L628 ntHoareTripleChecker]: (and (= c_main_i_primed (+ c_main_i 1)) (<= c_main_i 1000)) (assume i <= 1000;i := i + 1;) [2018-12-19 12:27:19,191 WARN L629 ntHoareTripleChecker]: Post: {#1{Arrays: {[main_a] -> [-inf_0] v_404 [b_46] v_405 [b_47] v_406 [inf_0], }, Substate: {ints: {main_q = [42; 42]; v_405 = [5; 5]; b_46 = [42; 42]; b_47 = [43; 43]}, 2 vars top, relations: {b_46 + main_q = [84; 84]; b_46 - main_q = [0; 0]; b_47 + main_q = [85; 85]; b_47 - main_q = [1; 1]; main_q + v_405 = [47; 47]; main_q - v_405 = [37; 37]; b_46 + v_405 = [47; 47]; b_46 - v_405 = [37; 37]; b_47 + v_405 = [48; 48]; b_47 - v_405 = [38; 38]; b_46 + b_47 = [85; 85]; b_46 - b_47 = [-1; -1]}, }}} [2018-12-19 12:27:19,191 WARN L630 ntHoareTripleChecker]: -- [2018-12-19 12:27:19,328 WARN L214 ngHoareTripleChecker]: Soundness check failed for the following hoare triple [2018-12-19 12:27:19,329 WARN L217 ngHoareTripleChecker]: Expected: UNKNOWN Actual: INVALID [2018-12-19 12:27:19,329 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2018-12-19 12:27:19,330 WARN L223 ngHoareTripleChecker]: -- [2018-12-19 12:27:19,330 WARN L224 ngHoareTripleChecker]: Pre: {92#(<= (- (- c_main_i) c_main_i) 0)} [2018-12-19 12:27:19,330 WARN L228 ngHoareTripleChecker]: Action: assume !(i <= 1000);a := a[p := 5];assume p > 41 && p < 43;assume q > 41 && q < 43; [2018-12-19 12:27:19,330 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (and (not (<= c_main_i 1000)) (< 41 c_main_p) (< 41 c_main_q) (= c_main_a_primed (store c_main_a c_main_p 5)) (< c_main_p 43) (< c_main_q 43)) [2018-12-19 12:27:19,331 WARN L230 ngHoareTripleChecker]: Post: {93#false} [2018-12-19 12:27:19,331 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2018-12-19 12:27:19,331 WARN L268 ngHoareTripleChecker]: -- [2018-12-19 12:27:19,331 WARN L269 ngHoareTripleChecker]: Simplified triple [2018-12-19 12:27:19,365 WARN L270 ngHoareTripleChecker]: Pre: {92#(<= (- (- main_i) main_i) 0)} [2018-12-19 12:27:19,366 WARN L274 ngHoareTripleChecker]: Action: assume !(i <= 1000);a := a[p := 5];assume p > 41 && p < 43;assume q > 41 && q < 43; [2018-12-19 12:27:19,366 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (and (not (<= c_main_i 1000)) (< 41 c_main_p) (< 41 c_main_q) (= c_main_a_primed (store c_main_a c_main_p 5)) (< c_main_p 43) (< c_main_q 43)) [2018-12-19 12:27:19,406 WARN L276 ngHoareTripleChecker]: Post: {93#false} [2018-12-19 12:27:19,406 WARN L620 ntHoareTripleChecker]: -- [2018-12-19 12:27:19,406 WARN L621 ntHoareTripleChecker]: Abstract states [2018-12-19 12:27:19,407 WARN L623 ntHoareTripleChecker]: PreS: {#1{Arrays: {[main_a] -> [-inf_0] v_467 [inf_0], }, Substate: {ints: {main_i = [0; inf]}, 4 vars top, }}} [2018-12-19 12:27:19,407 WARN L628 ntHoareTripleChecker]: (and (not (<= c_main_i 1000)) (< 41 c_main_p) (< 41 c_main_q) (= c_main_a_primed (store c_main_a c_main_p 5)) (< c_main_p 43) (< c_main_q 43)) (assume !(i <= 1000);a := a[p := 5];assume p > 41 && p < 43;assume q > 41 && q < 43;) [2018-12-19 12:27:19,407 WARN L629 ntHoareTripleChecker]: Post: {#1{Arrays: {}, Substate: false}} [2018-12-19 12:27:19,407 WARN L630 ntHoareTripleChecker]: -- [2018-12-19 12:27:19,530 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-12-19 12:27:19,531 FATAL L292 ToolchainWalker]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.AssertionError: main_a not in segmentation map of stateArrays: {}, Substate: {ints: {main_q = [42; 42]; b_66 = [42; 42]; main_i = [0; inf]; b_67 = [43; 43]; v_473 = [5; 5]}, 4 vars top, relations: {b_66 + main_q = [84; 84]; b_66 - main_q = [0; 0]; b_67 + main_q = [85; 85]; b_67 - main_q = [1; 1]; b_66 + b_67 = [85; 85]; b_66 - b_67 = [-1; -1]; main_q + v_473 = [47; 47]; main_q - v_473 = [37; 37]; b_66 + v_473 = [47; 47]; b_66 - v_473 = [37; 37]; b_67 + v_473 = [48; 48]; b_67 - v_473 = [38; 38]}, } at de.uni_freiburg.informatik.ultimate.plugins.analysis.abstractinterpretationv2.domain.array.ArrayDomainState.checkSegmentationMap(ArrayDomainState.java:1320) at de.uni_freiburg.informatik.ultimate.plugins.analysis.abstractinterpretationv2.domain.array.ArrayDomainState.(ArrayDomainState.java:89) at de.uni_freiburg.informatik.ultimate.plugins.analysis.abstractinterpretationv2.domain.array.ArrayDomainState.(ArrayDomainState.java:94) at de.uni_freiburg.informatik.ultimate.plugins.analysis.abstractinterpretationv2.domain.array.ArrayDomainState.intersect(ArrayDomainState.java:382) at de.uni_freiburg.informatik.ultimate.plugins.analysis.abstractinterpretationv2.domain.array.ArrayDomainState.intersect(ArrayDomainState.java:1) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.absint.DisjunctiveAbstractState.lambda$12(DisjunctiveAbstractState.java:245) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.absint.DisjunctiveAbstractState.crossProduct(DisjunctiveAbstractState.java:465) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.absint.DisjunctiveAbstractState.crossProduct(DisjunctiveAbstractState.java:483) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.absint.DisjunctiveAbstractState.intersect(DisjunctiveAbstractState.java:245) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.CegarAbsIntRunner$AbsIntPredicateUnifier.lambda$3(CegarAbsIntRunner.java:711) at java.util.stream.ReduceOps$2ReducingSink.accept(ReduceOps.java:123) at java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1553) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.util.stream.ReferencePipeline.reduce(ReferencePipeline.java:479) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.CegarAbsIntRunner$AbsIntPredicateUnifier.getOrConstructPredicateForConjunction(CegarAbsIntRunner.java:711) at de.uni_freiburg.informatik.ultimate.modelcheckerutils.smt.predicates.PredicateUnifier.getOrConstructPredicateForConjunction(PredicateUnifier.java:229) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.interpolantautomata.transitionappender.DeterministicInterpolantAutomaton.getOrConstructPredicate(DeterministicInterpolantAutomaton.java:281) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.interpolantautomata.transitionappender.DeterministicInterpolantAutomaton.constructSuccessorsAndTransitions(DeterministicInterpolantAutomaton.java:303) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.interpolantautomata.transitionappender.BasicAbstractInterpolantAutomaton.computeSuccs(BasicAbstractInterpolantAutomaton.java:78) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.interpolantautomata.transitionappender.BasicAbstractInterpolantAutomaton.computeSuccs(BasicAbstractInterpolantAutomaton.java:1) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.interpolantautomata.transitionappender.AbstractInterpolantAutomaton.internalSuccessors(AbstractInterpolantAutomaton.java:234) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.interpolantautomata.transitionappender.AbstractInterpolantAutomaton.internalSuccessors(AbstractInterpolantAutomaton.java:1) at de.uni_freiburg.informatik.ultimate.automata.nestedword.operations.TotalizeNwa.internalSuccessors(TotalizeNwa.java:213) at de.uni_freiburg.informatik.ultimate.automata.nestedword.operations.ComplementDeterministicNwa.internalSuccessors(ComplementDeterministicNwa.java:121) at de.uni_freiburg.informatik.ultimate.automata.nestedword.operations.ProductNwa.internalSuccessors(ProductNwa.java:216) at de.uni_freiburg.informatik.ultimate.automata.nestedword.operations.ProductNwa.internalSuccessors(ProductNwa.java:208) at de.uni_freiburg.informatik.ultimate.automata.nestedword.reachablestates.NestedWordAutomatonReachableStates$ReachableStatesComputation.addInternalsAndSuccessors(NestedWordAutomatonReachableStates.java:1066) at de.uni_freiburg.informatik.ultimate.automata.nestedword.reachablestates.NestedWordAutomatonReachableStates$ReachableStatesComputation.(NestedWordAutomatonReachableStates.java:968) at de.uni_freiburg.informatik.ultimate.automata.nestedword.reachablestates.NestedWordAutomatonReachableStates.(NestedWordAutomatonReachableStates.java:188) at de.uni_freiburg.informatik.ultimate.automata.nestedword.operations.Difference.computeDifference(Difference.java:137) at de.uni_freiburg.informatik.ultimate.automata.nestedword.operations.Difference.(Difference.java:90) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.computeAutomataDifference(BasicCegarLoop.java:699) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.refineAbstraction(BasicCegarLoop.java:628) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterateInternal(AbstractCegarLoop.java:472) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:376) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.iterate(TraceAbstractionStarter.java:334) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:174) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:126) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:316) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) [2018-12-19 12:27:19,535 INFO L168 Benchmark]: Toolchain (without parser) took 8286.96 ms. Allocated memory was 1.5 GB in the beginning and 2.2 GB in the end (delta: 692.6 MB). Free memory was 1.5 GB in the beginning and 2.0 GB in the end (delta: -578.9 MB). Peak memory consumption was 113.7 MB. Max. memory is 7.1 GB. [2018-12-19 12:27:19,538 INFO L168 Benchmark]: Boogie PL CUP Parser took 0.22 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-12-19 12:27:19,539 INFO L168 Benchmark]: Boogie Procedure Inliner took 40.15 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-12-19 12:27:19,539 INFO L168 Benchmark]: Boogie Preprocessor took 24.99 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-12-19 12:27:19,540 INFO L168 Benchmark]: RCFGBuilder took 296.79 ms. Allocated memory is still 1.5 GB. Free memory was 1.5 GB in the beginning and 1.4 GB in the end (delta: 21.1 MB). Peak memory consumption was 21.1 MB. Max. memory is 7.1 GB. [2018-12-19 12:27:19,543 INFO L168 Benchmark]: TraceAbstraction took 7920.61 ms. Allocated memory was 1.5 GB in the beginning and 2.2 GB in the end (delta: 692.6 MB). Free memory was 1.4 GB in the beginning and 2.0 GB in the end (delta: -600.1 MB). Peak memory consumption was 92.5 MB. Max. memory is 7.1 GB. [2018-12-19 12:27:19,548 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - GenericResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * Boogie PL CUP Parser took 0.22 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. * Boogie Procedure Inliner took 40.15 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. * Boogie Preprocessor took 24.99 ms. Allocated memory is still 1.5 GB. Free memory is still 1.5 GB. There was no memory consumed. Max. memory is 7.1 GB. * RCFGBuilder took 296.79 ms. Allocated memory is still 1.5 GB. Free memory was 1.5 GB in the beginning and 1.4 GB in the end (delta: 21.1 MB). Peak memory consumption was 21.1 MB. Max. memory is 7.1 GB. * TraceAbstraction took 7920.61 ms. Allocated memory was 1.5 GB in the beginning and 2.2 GB in the end (delta: 692.6 MB). Free memory was 1.4 GB in the beginning and 2.0 GB in the end (delta: -600.1 MB). Peak memory consumption was 92.5 MB. Max. memory is 7.1 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: AssertionError: main_a not in segmentation map of stateArrays: {}, Substate: {ints: {main_q = [42; 42]; b_66 = [42; 42]; main_i = [0; inf]; b_67 = [43; 43]; v_473 = [5; 5]}, 4 vars top, relations: {b_66 + main_q = [84; 84]; b_66 - main_q = [0; 0]; b_67 + main_q = [85; 85]; b_67 - main_q = [1; 1]; b_66 + b_67 = [85; 85]; b_66 - b_67 = [-1; -1]; main_q + v_473 = [47; 47]; main_q - v_473 = [37; 37]; b_66 + v_473 = [47; 47]; b_66 - v_473 = [37; 37]; b_67 + v_473 = [48; 48]; b_67 - v_473 = [38; 38]}, } de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: AssertionError: main_a not in segmentation map of stateArrays: {}, Substate: {ints: {main_q = [42; 42]; b_66 = [42; 42]; main_i = [0; inf]; b_67 = [43; 43]; v_473 = [5; 5]}, 4 vars top, relations: {b_66 + main_q = [84; 84]; b_66 - main_q = [0; 0]; b_67 + main_q = [85; 85]; b_67 - main_q = [1; 1]; b_66 + b_67 = [85; 85]; b_66 - b_67 = [-1; -1]; main_q + v_473 = [47; 47]; main_q - v_473 = [37; 37]; b_66 + v_473 = [47; 47]; b_66 - v_473 = [37; 37]; b_67 + v_473 = [48; 48]; b_67 - v_473 = [38; 38]}, }: de.uni_freiburg.informatik.ultimate.plugins.analysis.abstractinterpretationv2.domain.array.ArrayDomainState.checkSegmentationMap(ArrayDomainState.java:1320) RESULT: Ultimate could not prove your program: Toolchain returned no result. Received shutdown request...