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-15a42f0 [2018-12-18 22:28:53,216 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-12-18 22:28:53,221 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-12-18 22:28:53,234 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-12-18 22:28:53,235 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-12-18 22:28:53,236 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-12-18 22:28:53,237 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-12-18 22:28:53,239 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-12-18 22:28:53,241 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-12-18 22:28:53,242 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-12-18 22:28:53,243 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-12-18 22:28:53,243 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-12-18 22:28:53,244 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-12-18 22:28:53,245 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-12-18 22:28:53,246 INFO L174 SettingsManager]: Resetting ChcToBoogie preferences to default values [2018-12-18 22:28:53,247 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-12-18 22:28:53,248 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-12-18 22:28:53,250 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-12-18 22:28:53,252 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-12-18 22:28:53,254 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-12-18 22:28:53,255 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-12-18 22:28:53,256 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-12-18 22:28:53,259 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-12-18 22:28:53,259 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-12-18 22:28:53,260 INFO L174 SettingsManager]: Resetting TreeAutomizer preferences to default values [2018-12-18 22:28:53,261 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-12-18 22:28:53,262 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-12-18 22:28:53,263 INFO L174 SettingsManager]: Resetting ReqPrinter preferences to default values [2018-12-18 22:28:53,264 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-12-18 22:28:53,265 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-12-18 22:28:53,265 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-12-18 22:28:53,266 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-12-18 22:28:53,266 INFO L177 SettingsManager]: ReqParser provides no preferences, ignoring... [2018-12-18 22:28:53,266 INFO L174 SettingsManager]: Resetting SmtParser preferences to default values [2018-12-18 22:28:53,268 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-12-18 22:28:53,268 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-12-18 22:28:53,269 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-18 22:28:53,282 INFO L110 SettingsManager]: Loading preferences was successful [2018-12-18 22:28:53,283 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-12-18 22:28:53,284 INFO L131 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2018-12-18 22:28:53,284 INFO L133 SettingsManager]: * Show backtranslation warnings=false [2018-12-18 22:28:53,284 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-12-18 22:28:53,284 INFO L133 SettingsManager]: * User list type=DISABLED [2018-12-18 22:28:53,285 INFO L133 SettingsManager]: * Inline calls to unimplemented procedures=true [2018-12-18 22:28:53,285 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2018-12-18 22:28:53,285 INFO L133 SettingsManager]: * Abstract domain for RCFG-of-the-future=PoormanAbstractDomain [2018-12-18 22:28:53,285 INFO L133 SettingsManager]: * Underlying domain=OctagonDomain [2018-12-18 22:28:53,285 INFO L133 SettingsManager]: * Abstract domain=ArrayDomain [2018-12-18 22:28:53,286 INFO L133 SettingsManager]: * Check feasibility of abstract posts with an SMT solver=true [2018-12-18 22:28:53,286 INFO L133 SettingsManager]: * Interval Domain=false [2018-12-18 22:28:53,287 INFO L131 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2018-12-18 22:28:53,287 INFO L133 SettingsManager]: * Create parallel compositions if possible=false [2018-12-18 22:28:53,287 INFO L133 SettingsManager]: * Use SBE=true [2018-12-18 22:28:53,287 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-12-18 22:28:53,287 INFO L133 SettingsManager]: * sizeof long=4 [2018-12-18 22:28:53,288 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-12-18 22:28:53,288 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-12-18 22:28:53,288 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-12-18 22:28:53,288 INFO L133 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2018-12-18 22:28:53,289 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-12-18 22:28:53,289 INFO L133 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2018-12-18 22:28:53,289 INFO L133 SettingsManager]: * sizeof long double=12 [2018-12-18 22:28:53,289 INFO L133 SettingsManager]: * Check if freed pointer was valid=false [2018-12-18 22:28:53,289 INFO L133 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2018-12-18 22:28:53,290 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-12-18 22:28:53,290 INFO L133 SettingsManager]: * Size of a code block=SequenceOfStatements [2018-12-18 22:28:53,290 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-12-18 22:28:53,290 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-12-18 22:28:53,291 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-12-18 22:28:53,291 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-12-18 22:28:53,291 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-12-18 22:28:53,291 INFO L133 SettingsManager]: * Trace refinement strategy=TAIPAN [2018-12-18 22:28:53,291 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-12-18 22:28:53,292 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-12-18 22:28:53,292 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-12-18 22:28:53,292 INFO L133 SettingsManager]: * Abstract interpretation Mode=USE_PREDICATES [2018-12-18 22:28:53,332 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-12-18 22:28:53,349 INFO L258 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2018-12-18 22:28:53,355 INFO L214 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2018-12-18 22:28:53,358 INFO L271 PluginConnector]: Initializing Boogie PL CUP Parser... [2018-12-18 22:28:53,358 INFO L276 PluginConnector]: Boogie PL CUP Parser initialized [2018-12-18 22:28:53,359 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-18 22:28:53,359 INFO L111 BoogieParser]: Parsing: '/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/programs/toy/tooDifficultLoopInvariant/codeblockAssertOrder01.bpl' [2018-12-18 22:28:53,394 INFO L296 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-12-18 22:28:53,395 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2018-12-18 22:28:53,398 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2018-12-18 22:28:53,398 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2018-12-18 22:28:53,400 INFO L276 PluginConnector]: Boogie Procedure Inliner initialized [2018-12-18 22:28:53,420 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "codeblockAssertOrder01.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.12 10:28:53" (1/1) ... [2018-12-18 22:28:53,432 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "codeblockAssertOrder01.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.12 10:28:53" (1/1) ... [2018-12-18 22:28:53,437 WARN L165 Inliner]: Program contained no entry procedure! [2018-12-18 22:28:53,437 WARN L168 Inliner]: Missing entry procedures: [ULTIMATE.start] [2018-12-18 22:28:53,437 WARN L175 Inliner]: Fallback enabled. All procedures will be processed. [2018-12-18 22:28:53,439 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2018-12-18 22:28:53,440 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-12-18 22:28:53,440 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-12-18 22:28:53,440 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-12-18 22:28:53,453 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "codeblockAssertOrder01.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.12 10:28:53" (1/1) ... [2018-12-18 22:28:53,453 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "codeblockAssertOrder01.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.12 10:28:53" (1/1) ... [2018-12-18 22:28:53,454 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "codeblockAssertOrder01.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.12 10:28:53" (1/1) ... [2018-12-18 22:28:53,455 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "codeblockAssertOrder01.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.12 10:28:53" (1/1) ... [2018-12-18 22:28:53,458 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "codeblockAssertOrder01.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.12 10:28:53" (1/1) ... [2018-12-18 22:28:53,463 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "codeblockAssertOrder01.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.12 10:28:53" (1/1) ... [2018-12-18 22:28:53,464 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "codeblockAssertOrder01.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.12 10:28:53" (1/1) ... [2018-12-18 22:28:53,466 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-12-18 22:28:53,467 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-12-18 22:28:53,467 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-12-18 22:28:53,467 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-12-18 22:28:53,475 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "codeblockAssertOrder01.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.12 10:28:53" (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-18 22:28:53,556 INFO L130 BoogieDeclarations]: Found specification of procedure main [2018-12-18 22:28:53,556 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2018-12-18 22:28:53,870 INFO L272 CfgBuilder]: Using library mode [2018-12-18 22:28:53,871 INFO L280 CfgBuilder]: Removed 0 assue(true) statements. [2018-12-18 22:28:53,871 INFO L202 PluginConnector]: Adding new model codeblockAssertOrder01.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 18.12 10:28:53 BoogieIcfgContainer [2018-12-18 22:28:53,871 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-12-18 22:28:53,872 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-12-18 22:28:53,872 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-12-18 22:28:53,876 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-12-18 22:28:53,877 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "codeblockAssertOrder01.bpl de.uni_freiburg.informatik.ultimate.boogie.parser AST 18.12 10:28:53" (1/2) ... [2018-12-18 22:28:53,878 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@6a9b9512 and model type codeblockAssertOrder01.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 18.12 10:28:53, skipping insertion in model container [2018-12-18 22:28:53,878 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "codeblockAssertOrder01.bpl de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 18.12 10:28:53" (2/2) ... [2018-12-18 22:28:53,880 INFO L112 eAbstractionObserver]: Analyzing ICFG codeblockAssertOrder01.bpl [2018-12-18 22:28:53,889 INFO L156 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-12-18 22:28:53,898 INFO L168 ceAbstractionStarter]: Appying trace abstraction to program that has 1 error locations. [2018-12-18 22:28:53,918 INFO L257 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2018-12-18 22:28:53,953 INFO L382 AbstractCegarLoop]: Interprodecural is true [2018-12-18 22:28:53,953 INFO L383 AbstractCegarLoop]: Hoare is true [2018-12-18 22:28:53,953 INFO L384 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-12-18 22:28:53,954 INFO L385 AbstractCegarLoop]: Backedges is STRAIGHT_LINE [2018-12-18 22:28:53,954 INFO L386 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-12-18 22:28:53,954 INFO L387 AbstractCegarLoop]: Difference is false [2018-12-18 22:28:53,954 INFO L388 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-12-18 22:28:53,954 INFO L393 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-12-18 22:28:53,970 INFO L276 IsEmpty]: Start isEmpty. Operand 6 states. [2018-12-18 22:28:53,977 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 4 [2018-12-18 22:28:53,977 INFO L394 BasicCegarLoop]: Found error trace [2018-12-18 22:28:53,978 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1] [2018-12-18 22:28:53,981 INFO L423 AbstractCegarLoop]: === Iteration 1 === [mainErr0ASSERT_VIOLATIONASSERT]=== [2018-12-18 22:28:53,987 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-18 22:28:53,988 INFO L82 PathProgramCache]: Analyzing trace with hash 29984, now seen corresponding path program 1 times [2018-12-18 22:28:53,991 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-18 22:28:54,042 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-18 22:28:54,042 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-18 22:28:54,042 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-18 22:28:54,042 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-18 22:28:54,078 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-18 22:28:54,271 INFO L273 TraceCheckUtils]: 0: Hoare triple {9#true} i := 0; {11#(<= main_i 0)} is VALID [2018-12-18 22:28:54,285 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-18 22:28:54,286 INFO L273 TraceCheckUtils]: 2: Hoare triple {10#false} assume !(a[q] == 5); {10#false} is VALID [2018-12-18 22:28:54,289 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-18 22:28:54,294 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 0 imperfect interpolant sequences. [2018-12-18 22:28:54,294 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2018-12-18 22:28:54,294 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-18 22:28:54,301 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 3 [2018-12-18 22:28:54,303 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-18 22:28:54,307 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states. [2018-12-18 22:28:54,356 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-18 22:28:54,356 INFO L459 AbstractCegarLoop]: Interpolant automaton has 3 states [2018-12-18 22:28:54,364 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2018-12-18 22:28:54,365 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2018-12-18 22:28:54,367 INFO L87 Difference]: Start difference. First operand 6 states. Second operand 3 states. [2018-12-18 22:28:54,444 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-18 22:28:54,444 INFO L93 Difference]: Finished difference Result 11 states and 11 transitions. [2018-12-18 22:28:54,444 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-12-18 22:28:54,445 INFO L78 Accepts]: Start accepts. Automaton has 3 states. Word has length 3 [2018-12-18 22:28:54,445 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2018-12-18 22:28:54,446 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-12-18 22:28:54,452 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 11 transitions. [2018-12-18 22:28:54,453 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2018-12-18 22:28:54,455 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 11 transitions. [2018-12-18 22:28:54,455 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 11 transitions. [2018-12-18 22:28:54,546 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-18 22:28:54,558 INFO L225 Difference]: With dead ends: 11 [2018-12-18 22:28:54,558 INFO L226 Difference]: Without dead ends: 5 [2018-12-18 22:28:54,562 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-18 22:28:54,582 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 5 states. [2018-12-18 22:28:54,634 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 5 to 5. [2018-12-18 22:28:54,634 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2018-12-18 22:28:54,635 INFO L82 GeneralOperation]: Start isEquivalent. First operand 5 states. Second operand 5 states. [2018-12-18 22:28:54,636 INFO L74 IsIncluded]: Start isIncluded. First operand 5 states. Second operand 5 states. [2018-12-18 22:28:54,636 INFO L87 Difference]: Start difference. First operand 5 states. Second operand 5 states. [2018-12-18 22:28:54,637 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-18 22:28:54,638 INFO L93 Difference]: Finished difference Result 5 states and 5 transitions. [2018-12-18 22:28:54,638 INFO L276 IsEmpty]: Start isEmpty. Operand 5 states and 5 transitions. [2018-12-18 22:28:54,638 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-18 22:28:54,639 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-18 22:28:54,639 INFO L74 IsIncluded]: Start isIncluded. First operand 5 states. Second operand 5 states. [2018-12-18 22:28:54,639 INFO L87 Difference]: Start difference. First operand 5 states. Second operand 5 states. [2018-12-18 22:28:54,641 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2018-12-18 22:28:54,641 INFO L93 Difference]: Finished difference Result 5 states and 5 transitions. [2018-12-18 22:28:54,641 INFO L276 IsEmpty]: Start isEmpty. Operand 5 states and 5 transitions. [2018-12-18 22:28:54,641 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2018-12-18 22:28:54,642 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2018-12-18 22:28:54,642 INFO L88 GeneralOperation]: Finished isEquivalent. [2018-12-18 22:28:54,642 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2018-12-18 22:28:54,643 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 5 states. [2018-12-18 22:28:54,644 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 5 transitions. [2018-12-18 22:28:54,646 INFO L78 Accepts]: Start accepts. Automaton has 5 states and 5 transitions. Word has length 3 [2018-12-18 22:28:54,646 INFO L84 Accepts]: Finished accepts. word is rejected. [2018-12-18 22:28:54,646 INFO L480 AbstractCegarLoop]: Abstraction has 5 states and 5 transitions. [2018-12-18 22:28:54,646 INFO L481 AbstractCegarLoop]: Interpolant automaton has 3 states. [2018-12-18 22:28:54,647 INFO L276 IsEmpty]: Start isEmpty. Operand 5 states and 5 transitions. [2018-12-18 22:28:54,647 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 5 [2018-12-18 22:28:54,647 INFO L394 BasicCegarLoop]: Found error trace [2018-12-18 22:28:54,647 INFO L402 BasicCegarLoop]: trace histogram [1, 1, 1, 1] [2018-12-18 22:28:54,648 INFO L423 AbstractCegarLoop]: === Iteration 2 === [mainErr0ASSERT_VIOLATIONASSERT]=== [2018-12-18 22:28:54,648 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-18 22:28:54,648 INFO L82 PathProgramCache]: Analyzing trace with hash 927558, now seen corresponding path program 1 times [2018-12-18 22:28:54,649 INFO L69 tionRefinementEngine]: Using refinement strategy TaipanRefinementStrategy [2018-12-18 22:28:54,650 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-18 22:28:54,650 INFO L103 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2018-12-18 22:28:54,650 INFO L119 rtionOrderModulation]: Craig_TreeInterpolation forces the order to NOT_INCREMENTALLY [2018-12-18 22:28:54,651 INFO L289 anRefinementStrategy]: Using traceCheck mode SMTINTERPOL with AssertCodeBlockOrder NOT_INCREMENTALLY (IT: Craig_TreeInterpolation) [2018-12-18 22:28:54,660 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2018-12-18 22:28:54,862 INFO L273 TraceCheckUtils]: 0: Hoare triple {44#true} i := 0; {46#(<= main_i 0)} is VALID [2018-12-18 22:28:54,872 INFO L273 TraceCheckUtils]: 1: Hoare triple {46#(<= main_i 0)} assume i <= 1000;i := i + 1; {47#(<= main_i 1)} is VALID [2018-12-18 22:28:54,885 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-18 22:28:54,886 INFO L273 TraceCheckUtils]: 3: Hoare triple {45#false} assume !(a[q] == 5); {45#false} is VALID [2018-12-18 22:28:54,887 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-18 22:28:54,887 INFO L300 seRefinementStrategy]: The current sequences of interpolants are not accepted, trying to find more. [2018-12-18 22:28:54,887 INFO L193 anRefinementStrategy]: Switched to InterpolantGenerator mode ABSTRACT_INTERPRETATION [2018-12-18 22:28:54,888 INFO L205 CegarAbsIntRunner]: Running AI on error trace of length 5 with the following transitions: [2018-12-18 22:28:54,891 INFO L207 CegarAbsIntRunner]: [0], [4], [6], [7] [2018-12-18 22:28:54,949 INFO L148 AbstractInterpreter]: Using domain ArrayDomain [2018-12-18 22:28:54,949 INFO L101 FixpointEngine]: Starting fixpoint engine with domain ArrayDomain (maxUnwinding=3, maxParallelStates=2) [2018-12-18 22:28:58,036 INFO L266 AbstractInterpreter]: Error location(s) were unreachable [2018-12-18 22:28:58,038 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-18 22:28:58,044 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2018-12-18 22:28:58,044 INFO L403 sIntCurrentIteration]: Generating AbsInt predicates [2018-12-18 22:28:59,192 INFO L227 lantSequenceWeakener]: Weakened 1 states. On average, predicates are now at 50% of their original sizes. [2018-12-18 22:28:59,226 INFO L418 sIntCurrentIteration]: Unifying AI predicates [2018-12-18 22:28:59,561 INFO L420 sIntCurrentIteration]: We unified 3 AI predicates to 3 [2018-12-18 22:28:59,760 INFO L429 sIntCurrentIteration]: Finished generation of AbsInt predicates [2018-12-18 22:28:59,761 INFO L312 seRefinementStrategy]: Constructing automaton from 1 perfect and 1 imperfect interpolant sequences. [2018-12-18 22:28:59,761 INFO L327 seRefinementStrategy]: Number of different interpolants: perfect sequences [2] imperfect sequences [3] total 5 [2018-12-18 22:28:59,762 INFO L257 anRefinementStrategy]: Using the first perfect interpolant sequence [2018-12-18 22:28:59,764 INFO L78 Accepts]: Start accepts. Automaton has 4 states. Word has length 4 [2018-12-18 22:28:59,764 INFO L84 Accepts]: Finished accepts. word is accepted. [2018-12-18 22:28:59,764 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states. [2018-12-18 22:28:59,778 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-18 22:28:59,778 INFO L459 AbstractCegarLoop]: Interpolant automaton has 4 states [2018-12-18 22:28:59,778 INFO L142 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2018-12-18 22:28:59,779 INFO L144 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2018-12-18 22:28:59,779 INFO L87 Difference]: Start difference. First operand 5 states and 5 transitions. Second operand 4 states. [2018-12-18 22:28:59,786 WARN L214 ngHoareTripleChecker]: Soundness check failed for the following hoare triple [2018-12-18 22:28:59,786 WARN L217 ngHoareTripleChecker]: Expected: UNKNOWN Actual: INVALID [2018-12-18 22:28:59,788 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2018-12-18 22:28:59,789 WARN L223 ngHoareTripleChecker]: -- [2018-12-18 22:28:59,790 WARN L224 ngHoareTripleChecker]: Pre: {86#(<= (- (- c_main_i) c_main_i) 0)} [2018-12-18 22:28:59,790 WARN L228 ngHoareTripleChecker]: Action: assume i <= 1000;i := i + 1; [2018-12-18 22:28:59,791 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (and (= c_main_i_primed (+ c_main_i 1)) (<= c_main_i 1000)) [2018-12-18 22:28:59,791 WARN L230 ngHoareTripleChecker]: Post: {87#false} [2018-12-18 22:28:59,792 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2018-12-18 22:28:59,798 WARN L268 ngHoareTripleChecker]: -- [2018-12-18 22:28:59,798 WARN L269 ngHoareTripleChecker]: Simplified triple [2018-12-18 22:28:59,826 WARN L270 ngHoareTripleChecker]: Pre: {86#(<= (- (- main_i) main_i) 0)} [2018-12-18 22:28:59,826 WARN L274 ngHoareTripleChecker]: Action: assume i <= 1000;i := i + 1; [2018-12-18 22:28:59,828 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (and (= c_main_i_primed (+ c_main_i 1)) (<= c_main_i 1000)) [2018-12-18 22:28:59,865 WARN L276 ngHoareTripleChecker]: Post: {87#false} [2018-12-18 22:28:59,866 WARN L620 ntHoareTripleChecker]: -- [2018-12-18 22:28:59,867 WARN L621 ntHoareTripleChecker]: Abstract states [2018-12-18 22:28:59,868 WARN L623 ntHoareTripleChecker]: PreS: {#1{Arrays: {[main_a] -> [-inf_0] v_457 [inf_0], }, Substate: {ints: {main_i = [0; inf]}, 4 vars top, }}} [2018-12-18 22:28:59,868 WARN L628 ntHoareTripleChecker]: (and (= c_main_i_primed (+ c_main_i 1)) (<= c_main_i 1000)) (assume i <= 1000;i := i + 1;) [2018-12-18 22:28:59,869 WARN L629 ntHoareTripleChecker]: Post: {#1{Arrays: {}, Substate: false}} [2018-12-18 22:28:59,869 WARN L630 ntHoareTripleChecker]: -- [2018-12-18 22:29:00,106 WARN L214 ngHoareTripleChecker]: Soundness check failed for the following hoare triple [2018-12-18 22:29:00,106 WARN L217 ngHoareTripleChecker]: Expected: UNKNOWN Actual: INVALID [2018-12-18 22:29:00,107 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2018-12-18 22:29:00,107 WARN L223 ngHoareTripleChecker]: -- [2018-12-18 22:29:00,108 WARN L224 ngHoareTripleChecker]: Pre: {88#(<= (- (- c_main_i) c_main_i) 0)} [2018-12-18 22:29:00,108 WARN L228 ngHoareTripleChecker]: Action: assume i <= 1000;i := i + 1; [2018-12-18 22:29:00,108 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (and (= c_main_i_primed (+ c_main_i 1)) (<= c_main_i 1000)) [2018-12-18 22:29:00,108 WARN L230 ngHoareTripleChecker]: Post: {89#(exists ((v_v_403_1 Int) (v_b_46_1 Int) (v_b_47_1 Int)) (and (<= (- v_b_46_1 (- v_b_46_1)) 84) (<= (- v_b_46_1 (- c_main_q)) 84) (<= (- (- c_main_q) v_v_403_1) (- 47)) (<= (- v_b_47_1 c_main_q) 1) (<= (- (- c_main_q) (- v_v_403_1)) (- 37)) (<= (- (- c_main_q) c_main_q) (- 84)) (<= (- (- v_b_47_1) v_b_47_1) (- 86)) (<= (- v_b_46_1 v_v_403_1) 37) (<= (- (- v_b_46_1) (- v_v_403_1)) (- 37)) (forall ((v_idx_65 Int) (v_idx_66 Int) (v_idx_64 Int)) (or (< v_idx_66 v_b_47_1) (<= v_b_47_1 v_idx_65) (and (<= (- (- c_main_q) (select c_main_a v_idx_65)) (- 47)) (<= (- (- c_main_q) (- (select c_main_a v_idx_65))) (- 37)) (<= (- (- v_b_47_1) (select c_main_a v_idx_65)) (- 48)) (<= (- (- v_b_47_1) (- (select c_main_a v_idx_65))) (- 38)) (<= (- v_b_46_1 (select c_main_a v_idx_65)) 37) (<= (- (- v_b_46_1) (- (select c_main_a v_idx_65))) (- 37)) (<= (- v_b_47_1 (select c_main_a v_idx_65)) 38) (<= (- v_b_46_1 (- (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))) 48) (<= (- (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)) (- 47)) (<= (- (- (select c_main_a v_idx_65)) (select c_main_a v_idx_65)) (- 10))) (< v_idx_65 v_b_46_1) (<= v_b_46_1 v_idx_64))) (<= (- c_main_q (- v_v_403_1)) 47) (<= (- v_b_47_1 (- v_v_403_1)) 48) (<= (- (- v_b_46_1) c_main_q) (- 84)) (<= (- c_main_q (- c_main_q)) 84) (<= (- (- v_b_46_1) v_v_403_1) (- 47)) (<= (- (- v_v_403_1) v_v_403_1) (- 10)) (<= (- (- v_b_46_1) v_b_46_1) (- 84)) (<= (- v_b_46_1 c_main_q) 0) (<= (- (- v_b_46_1) v_b_47_1) (- 85)) (<= (- (- v_b_47_1) v_v_403_1) (- 48)) (<= (- (- v_b_47_1) (- v_v_403_1)) (- 38)) (<= (- (- v_b_47_1) c_main_q) (- 85)) (<= (- v_b_47_1 v_v_403_1) 38) (<= (- v_b_46_1 (- v_v_403_1)) 47) (<= (- (- v_b_47_1) (- c_main_q)) (- 1)) (<= (- v_b_46_1 v_b_47_1) (- 1)) (<= (- (- v_b_46_1) (- c_main_q)) 0) (<= (- v_v_403_1 (- v_v_403_1)) 10) (<= (- c_main_q v_v_403_1) 37) (<= (- (- v_b_46_1) (- v_b_47_1)) 1) (<= (- 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-18 22:29:00,109 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2018-12-18 22:29:00,109 WARN L268 ngHoareTripleChecker]: -- [2018-12-18 22:29:00,110 WARN L269 ngHoareTripleChecker]: Simplified triple [2018-12-18 22:29:00,117 WARN L270 ngHoareTripleChecker]: Pre: {88#(<= (- (- main_i) main_i) 0)} [2018-12-18 22:29:00,117 WARN L274 ngHoareTripleChecker]: Action: assume i <= 1000;i := i + 1; [2018-12-18 22:29:00,117 WARN L184 hOps$ForEachOp$OfRef]: ActionStr: (and (= c_main_i_primed (+ c_main_i 1)) (<= c_main_i 1000)) [2018-12-18 22:29:01,753 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-18 22:29:01,754 WARN L620 ntHoareTripleChecker]: -- [2018-12-18 22:29:01,754 WARN L621 ntHoareTripleChecker]: Abstract states [2018-12-18 22:29:01,754 WARN L623 ntHoareTripleChecker]: PreS: {#1{Arrays: {[main_a] -> [-inf_0] v_458 [inf_0], }, Substate: {ints: {main_i = [0; inf]}, 4 vars top, }}} [2018-12-18 22:29:01,754 WARN L628 ntHoareTripleChecker]: (and (= c_main_i_primed (+ c_main_i 1)) (<= c_main_i 1000)) (assume i <= 1000;i := i + 1;) [2018-12-18 22:29:01,755 WARN L629 ntHoareTripleChecker]: Post: {#1{Arrays: {[main_a] -> [-inf_0] v_402 [b_46] v_403 [b_47] v_404 [inf_0], }, Substate: {ints: {main_q = [42; 42]; v_403 = [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_403 = [47; 47]; main_q - v_403 = [37; 37]; b_46 + v_403 = [47; 47]; b_46 - v_403 = [37; 37]; b_47 + v_403 = [48; 48]; b_47 - v_403 = [38; 38]; b_46 + b_47 = [85; 85]; b_46 - b_47 = [-1; -1]}, }}} [2018-12-18 22:29:01,755 WARN L630 ntHoareTripleChecker]: -- [2018-12-18 22:29:01,780 WARN L214 ngHoareTripleChecker]: Soundness check failed for the following hoare triple [2018-12-18 22:29:01,781 WARN L217 ngHoareTripleChecker]: Expected: UNKNOWN Actual: INVALID [2018-12-18 22:29:01,782 WARN L219 ngHoareTripleChecker]: Solver was "Z3" in version "4.8.3" [2018-12-18 22:29:01,782 WARN L223 ngHoareTripleChecker]: -- [2018-12-18 22:29:01,782 WARN L224 ngHoareTripleChecker]: Pre: {92#(<= (- (- c_main_i) c_main_i) 0)} [2018-12-18 22:29:01,783 WARN L228 ngHoareTripleChecker]: Action: assume !(i <= 1000);a := a[p := 5];assume p > 41 && p < 43;assume q > 41 && q < 43; [2018-12-18 22:29:01,783 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-18 22:29:01,783 WARN L230 ngHoareTripleChecker]: Post: {93#false} [2018-12-18 22:29:01,783 WARN L263 ngHoareTripleChecker]: unsat core / model generation is disabled, enable it to get more details [2018-12-18 22:29:01,784 WARN L268 ngHoareTripleChecker]: -- [2018-12-18 22:29:01,784 WARN L269 ngHoareTripleChecker]: Simplified triple [2018-12-18 22:29:01,806 WARN L270 ngHoareTripleChecker]: Pre: {92#(<= (- (- main_i) main_i) 0)} [2018-12-18 22:29:01,806 WARN L274 ngHoareTripleChecker]: Action: assume !(i <= 1000);a := a[p := 5];assume p > 41 && p < 43;assume q > 41 && q < 43; [2018-12-18 22:29:01,807 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-18 22:29:01,835 WARN L276 ngHoareTripleChecker]: Post: {93#false} [2018-12-18 22:29:01,835 WARN L620 ntHoareTripleChecker]: -- [2018-12-18 22:29:01,835 WARN L621 ntHoareTripleChecker]: Abstract states [2018-12-18 22:29:01,836 WARN L623 ntHoareTripleChecker]: PreS: {#1{Arrays: {[main_a] -> [-inf_0] v_465 [inf_0], }, Substate: {ints: {main_i = [0; inf]}, 4 vars top, }}} [2018-12-18 22:29:01,836 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-18 22:29:01,836 WARN L629 ntHoareTripleChecker]: Post: {#1{Arrays: {}, Substate: false}} [2018-12-18 22:29:01,836 WARN L630 ntHoareTripleChecker]: -- [2018-12-18 22:29:01,931 INFO L142 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2018-12-18 22:29:01,932 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]; v_403 = [5; 5]; b_46 = [42; 42]; main_i = [0; inf]; b_47 = [43; 43]}, 4 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_403 = [47; 47]; main_q - v_403 = [37; 37]; b_46 + v_403 = [47; 47]; b_46 - v_403 = [37; 37]; b_47 + v_403 = [48; 48]; b_47 - v_403 = [38; 38]; b_46 + b_47 = [85; 85]; b_46 - b_47 = [-1; -1]}, } 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-18 22:29:01,937 INFO L168 Benchmark]: Toolchain (without parser) took 8542.78 ms. Allocated memory was 1.5 GB in the beginning and 2.2 GB in the end (delta: 672.7 MB). Free memory was 1.4 GB in the beginning and 2.0 GB in the end (delta: -550.4 MB). Peak memory consumption was 122.2 MB. Max. memory is 7.1 GB. [2018-12-18 22:29:01,940 INFO L168 Benchmark]: Boogie PL CUP Parser took 0.22 ms. Allocated memory is still 1.5 GB. Free memory is still 1.4 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-12-18 22:29:01,941 INFO L168 Benchmark]: Boogie Procedure Inliner took 41.26 ms. Allocated memory is still 1.5 GB. Free memory is still 1.4 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-12-18 22:29:01,941 INFO L168 Benchmark]: Boogie Preprocessor took 26.16 ms. Allocated memory is still 1.5 GB. Free memory is still 1.4 GB. There was no memory consumed. Max. memory is 7.1 GB. [2018-12-18 22:29:01,942 INFO L168 Benchmark]: RCFGBuilder took 404.78 ms. Allocated memory is still 1.5 GB. Free memory was 1.4 GB in the beginning and 1.4 GB in the end (delta: 21.1 MB). Peak memory consumption was 21.1 MB. Max. memory is 7.1 GB. [2018-12-18 22:29:01,943 INFO L168 Benchmark]: TraceAbstraction took 8063.69 ms. Allocated memory was 1.5 GB in the beginning and 2.2 GB in the end (delta: 672.7 MB). Free memory was 1.4 GB in the beginning and 2.0 GB in the end (delta: -571.6 MB). Peak memory consumption was 101.1 MB. Max. memory is 7.1 GB. [2018-12-18 22:29:01,947 INFO L336 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - GenericResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * Boogie PL CUP Parser took 0.22 ms. Allocated memory is still 1.5 GB. Free memory is still 1.4 GB. There was no memory consumed. Max. memory is 7.1 GB. * Boogie Procedure Inliner took 41.26 ms. Allocated memory is still 1.5 GB. Free memory is still 1.4 GB. There was no memory consumed. Max. memory is 7.1 GB. * Boogie Preprocessor took 26.16 ms. Allocated memory is still 1.5 GB. Free memory is still 1.4 GB. There was no memory consumed. Max. memory is 7.1 GB. * RCFGBuilder took 404.78 ms. Allocated memory is still 1.5 GB. Free memory was 1.4 GB in the beginning and 1.4 GB in the end (delta: 21.1 MB). Peak memory consumption was 21.1 MB. Max. memory is 7.1 GB. * TraceAbstraction took 8063.69 ms. Allocated memory was 1.5 GB in the beginning and 2.2 GB in the end (delta: 672.7 MB). Free memory was 1.4 GB in the beginning and 2.0 GB in the end (delta: -571.6 MB). Peak memory consumption was 101.1 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]; v_403 = [5; 5]; b_46 = [42; 42]; main_i = [0; inf]; b_47 = [43; 43]}, 4 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_403 = [47; 47]; main_q - v_403 = [37; 37]; b_46 + v_403 = [47; 47]; b_46 - v_403 = [37; 37]; b_47 + v_403 = [48; 48]; b_47 - v_403 = [38; 38]; b_46 + b_47 = [85; 85]; b_46 - b_47 = [-1; -1]}, } de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: AssertionError: main_a not in segmentation map of stateArrays: {}, Substate: {ints: {main_q = [42; 42]; v_403 = [5; 5]; b_46 = [42; 42]; main_i = [0; inf]; b_47 = [43; 43]}, 4 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_403 = [47; 47]; main_q - v_403 = [37; 37]; b_46 + v_403 = [47; 47]; b_46 - v_403 = [37; 37]; b_47 + v_403 = [48; 48]; b_47 - v_403 = [38; 38]; b_46 + b_47 = [85; 85]; b_46 - b_47 = [-1; -1]}, }: 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...